当前位置: 首页 > news >正文

网站建设丿金手指下拉vps wordpress域名

网站建设丿金手指下拉,vps wordpress域名,平面设计网站模板,企业级网络管理#x1f436;博主主页#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍#x1f525;专栏系列#xff1a;线性代数#xff0c;C初学者入门训练#xff0c;题解C#xff0c;C的使用文章#xff0c;「初学」C #x1f525;座右铭#xff1a;“不要等到什么都没有了#xff0c;才下… 博主主页ᰔᩚ. 一怀明月ꦿ  ❤️‍专栏系列线性代数C初学者入门训练题解CC的使用文章「初学」C 座右铭“不要等到什么都没有了才下定决心去做” 大家觉不错的话就恳求大家点点关注点点小爱心指点指点 目录 内存分布 realloc 柔性数组柔性数组又名0长度数组 内存分布 内核空间 用户不能读写 栈区 函数的形参以及局部变量 内存映射段 文件映射动态库匿名映射 堆区 动态开辟的内存malloccallocrealloc 静态区 全局变量 静态变量 代码段 可执行代码/只读常量存放函数体的二进制代码 realloc realloc用于原空间不足继续开辟更大的空间引用头文件为#includestdlib.h realloc的原型 void* realloc (void* ptr, size_t size); void* ptr原空间的首地址 size_t size开辟新空间的大小   注如果ptr为空指针时则他的作用和malloc相同例如 #includestdio.h #includestdlib.h int main() {int *ptr(int *)realloc(NULL,20);//这里就相当于malloc开辟了20个字节例如//int* ptr(int*)malloc(20);for(int i0;i5;i){printf(%d ,ptr[i]);}return 0; }柔性数组柔性数组又名0长度数组 柔性数组的特点 1结构中的柔性数组成员前面必须至少有一个其他成员。 这样创建的柔性数组是正确的 struct student {int n;int arr[];//或者int arr[0] }; 这样创建是绝对不允许的 struct student {int arr[]//如果是柔性数组前面应该还有其他类型的成员 }; 2sizeof返回的这种结构大小不包括柔性数组的内存 3包含柔性数组成员的结构用malloc函数进行内存的动态分配并且分配的内存应该大于结构体的大小以适应柔性数组的预期大小   #includestdio.h #includestdlib.h #includeerrno.h #includestring.h typedef struct student {int n;//0-3char c;//4//8//int arr[0];int arr[];//这里没有指定大小这就是柔性数组 }student; int main() {//2printf(%d\n,(int)sizeof(student));//结果是8//3student* ptr(student*)malloc(sizeof(student)10*sizeof(int));if(ptrNULL){printf(%s\n,strerror(errno));//打印申请失败的原因return 1;}//使用ptr-n100;ptr-cw;for(int i0;i10;i){ptr-arr[i]i;}for(int i0;i10;i){printf(%d ,ptr-arr[i]);}//利用realloc函数调整arr数组的大小student* str(student*)realloc(ptr,sizeof(student)20*sizeof(int));if(strNULL){printf(%s\n,strerror(errno));//打印申请失败的原因return 1;}else{ptrstr;}//释放free(ptr);return 0; } 结构体指针方案不使用柔性数组达到柔性数组的目的 指针方案一 #includestdio.h #includestdlib.h #includeerrno.h #includestring.h typedef struct class {int n;char c;int* arr; }class; int main() {class* ptr(class*)malloc(sizeof(class));int* str(int*)malloc(sizeof(int)*10);if(strNULL){printf(%s\n,strerror(errno));//如果分配失败打印错误信息return 1;}else{ptr-arrstr;}//用realloc调整arr的大小str(int*)realloc(ptr-arr,20*sizeof(int));if(strNULL){printf(%s\n,strerror(errno));return 1;}else{ptr-arrstr;}//释放free(ptr-arr);free(ptr); }指针方案二 #includestdio.h #includestdlib.h #includeerrno.h #includestring.h typedef struct class {int n;char c;int* arr; }class; int main() {class ptr;//创建了一个结构体对象int* str(int*)malloc(sizeof(int)*10);if(strNULL){printf(%s\n,strerror(errno));return 1;}else{ptr.arrstr;}//调整arr的大小str(int*)realloc(ptr.arr,20*sizeof(int));if(strNULL){printf(%s\n,strerror(errno));return 1;}else{ptr.arrstr;}//释放free(ptr.arr);return 0; }总结对比两种方法柔性数组和结构体指针不难发现柔性数组更加简便可以整理出柔性数组有两大优势 1动态开辟的内存比较容易释放 使用柔性数组只需要调用用一次free函数进行释放而使用结构体指针方案一则需要两次调用free函数进行释放这样会导致忘记释放了从而出现内存泄漏的问题使程序更容易出错。 2程序的运行速度更快 柔性数组只动态开辟了一块空间而结构体指针这种方法开辟两块空间。结构体指针这种方法内存碎片比较多程序访问速度有所下降。 如果大家还有不懂或者建议都可以发在评论区我们共同探讨共同学习共同进步。谢谢大家
http://www.tj-hxxt.cn/news/143226.html

相关文章:

  • 苏州高端网站设计百度联盟推广
  • 怎样做网站平台赚钱吗网站进行诊断
  • 在线网页下载网络营销推广及优化方案
  • 天猫入驻网站建设国外公司查询网站
  • 郑州网站微信微博维护建德网站建设
  • 个人网站备案麻烦海口旅游类网站建设
  • 物流网站建设模板下载网站怎么做到秒收录
  • 学校响应式网站模板本地做的网站如何映射出去
  • 云南省建设厅网站二建饰品行业网站开发
  • 湖北建站管理系统信息合肥网站seo服务
  • 锐旗网站建设辽阳好的网站建设公司
  • 建湖网站建设价格微网站门户
  • vi设计网站有哪些产品 网站建设
  • 高邮网站开发常州知名网站建设公司
  • wordpress建站模版投资公司投资流程
  • 怎么看网站的建站公司是哪个中国制造网官方网站入口
  • 海珠营销网站建设报价小城镇建设 网站官方
  • wordpress网站设置关键词山东住房和城乡建设部网站
  • 如何查找同行网站做的外链网站优化及推广方案
  • 做影视网站有什么风险网站建设合同任
  • 模板网站配置文件闵行网站建设
  • 青岛学网站建设的学校国内最炫酷的网站
  • 帮别人设计网站北京公司注册核名详细流程
  • 旅游网站开发的意义相关资料做公司企业网站标准尺寸
  • 网站推广软件排名17岁在线观看免费高清完整版
  • 做纸巾定制的网站wordpress模板带后台
  • 重庆企业网站推广方法福州最新通告今天
  • 能进外国网站看视频的浏览器合肥高端网站建设费用
  • 在什么网站做调查问卷肇庆网页制作公司
  • 柠檬网络科技网站建设做网站设计需要什么技术