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

嘉兴 做网站 推广东莞网站建设定制

嘉兴 做网站 推广,东莞网站建设定制,苏州模板建站平台,简述网站开发流程1 malloc函数 函数说明#xff1a; #include stdlib.hvoid *malloc(size_t size); 功能#xff1a;在内存的动态存储区(堆区)中分配一块长度为size字节的连续区域#xff0c;用来存放类型说明符指定的类型。分配的内存空间内容不确定。 参数#xff1a;size…1 malloc函数 函数说明 #include stdlib.hvoid *malloc(size_t size); 功能在内存的动态存储区(堆区)中分配一块长度为size字节的连续区域用来存放类型说明符指定的类型。分配的内存空间内容不确定。 参数size需要分配内存大小(单位字节) 返回值成功分配空间的起始地址失败NULL 代码示例 #include stdio.h #include stdlib.h int main() { // 使用 malloc() 分配内存来存储 5 个整数 int *array (int *)malloc(5 * sizeof(int)); // 检查 malloc() 是否成功分配了内存 if (array NULL) { printf(内存分配失败\n); return -1; // 返回非零值表示错误 } // 初始化分配的内存中的整数 for (int i 0; i 5; i) { array[i] i 1; } // 打印整数的值 printf(数组中各元素分别是:\n); for (int i 0; i 5; i) { printf(%d , array[i]); } printf(\n); // 释放分配的内存 free(array); // 尝试访问已释放的内存可能会导致问题所以不再使用 array 指针 // 将指针设置为 NULL 以避免悬挂指针 array NULL; return 0; } 2 calloc函数 函数说明 #include stdlib.hvoid *calloc(size_t num, size_t size); 功能该函数与malloc()类似但它还需要一个额外的参数来表示要分配的元素数量。它会返回一个指向已初始化为零的内存块的指针。 参数num指定要分配的元素数量。size指定每个元素的大小。 返回值成功分配的内存块的指针失败NULL 代码示例 #include stdio.h #include stdlib.h int main() { // 使用 calloc() 分配内存来存储 10 个整数并初始化为 0 int *array (int *)calloc(10, sizeof(int)); // 检查 calloc() 是否成功分配了内存 if (array NULL) { printf(内存分配失败\n); return -1; } // 给数组中的每个元素赋一个值 for (int i 0; i 10; i) { array[i] i * 2; } // 打印数组中的值 printf(数组各个元素值分别是:\n); for (i 0; i 10; i){ printf(%d , array[i]); } printf(\n); // 释放分配的内存 free(array); // 将指针设置为 NULL避免悬挂指针 array NULL; return 0; } 3 realloc()函数 函数说明 #include stdlib.hvoid *realloc(void *ptr, size_t new_size); 功能用于调整之前分配的内存块的大小。如果调整成功它会返回指向新内存块的指针如果失败它会返回NULL。 参数ptr指向一个之前由malloc(), calloc(), 或 realloc() 函数分配的内存块的指针。如果 ptr 是 NULL那么 realloc() 的行为就如同 malloc()分配一块大小为 new_size 的新内存。new_size重新分配的内存块的大小以字节为单位。 返回值如果内存重新分配成功realloc() 返回指向新内存块的指针。这个指针可能与 ptr 相同如果重新分配发生在原地也可能不同如果内存块移动了位置。如果内存重新分配失败realloc() 返回 NULL并且原内存块 ptr 保持不变不会被自动释放。 代码示例 #include stdio.h #include stdlib.h int main() { int *array (int *)malloc(5 * sizeof(int)); if (array NULL) { perror(Memory allocation failed); return 1; } // 初始化数组 for (int i 0; i 5; i) { array[i] i; } // 打印原始数组 printf(Original array:\n); for (int i 0; i 5; i) { printf(%d , array[i]); } printf(\n); // 尝试将数组大小增加到10 int *new_array (int *)realloc(array, 10 * sizeof(int)); if (new_array NULL) { printf(内存重新分配失败\n); // 释放原始内存 free(array); return 1; } // 更新指针 array new_array; // 初始化新分配的内存部分 for (int i 5; i 10; i) { array[i] i; } // 打印新数组 printf(扩展后的数组:\n); for (int i 0; i 10; i) { printf(%d , array[i]); } printf(\n); // 释放内存 free(array); // 将指针设置为 NULL避免悬挂指针 array NULL; return 0; } 4 free函数 函数说明 #include stdlib.h void free(void *ptr); 功能释放ptr所指向的一块内存空间ptr是一个任意类型的指针变量指向被释放区域的首地址。对同一内存空间多次释放会出错。 参数ptr需要释放空间的首地址被释放区应是由malloc函数所分配的区域。 返回值无 代码示例 #include stdlib.h #include stdio.hint main() {int n 0;printf(请输入要申请数组的个数: );scanf(%d, n);// 堆区申请 n * sizeof(int) 空间等价int arr[n]int *arr (int *)malloc(n * sizeof(int));if (arr NULL) {printf(申请空间失败!\n);return -1;}for (int i 0; i n; i){// 给数组赋值arr[i] i;}for (int i 0; i n; i) {// 输出数组每个元素的值printf(%d, , *(arri));}// 释放堆区空间free(arr);// 将指针设置为 NULL避免悬挂指针 array NULL; return 0; }
http://www.hkea.cn/news/14284385/

相关文章:

  • php网站开发权限管理门户网站建设服务报价
  • 网站做授权登录开发小程序软件的公司
  • 手机网站开发用什么语言丹徒网站建设机构
  • 广德做网站设计开发如何给网站写文章
  • 镇江制作网站的全球电子商务网站
  • 网站建设的相关职位网页开发需求定制
  • 牡丹江网站建设公司现在建网站多少钱
  • 郴州网站seo外包中小学智慧校园建设平台网站
  • 新乡做网站的公司有哪些网站使用ftp
  • 主题资源网站建设反思规划和布局营销型网站的四大重点
  • 网站突然没收录了广东东莞大益队
  • 江门市智企互联网站建设WordPress的light
  • 做解决方案的网站建站公司技术服务费
  • 公司网站维护建设费入什么科目网络营销策划案模板
  • 建站 discuz站长统计 站长统计
  • 优化网站技术企业宣传方案模板
  • 高师本科化学实验教学体系建设与创新型人才培养 教学成果奖申报网站湘潭专业seo优化价格
  • 厦门网站制作系统网站后台上传的照片模糊
  • 做网站论文研究方法怎么写国家信用信息系统年报
  • 中小型网站建设怎么样研究院网站建设的内容
  • 轻松做网站58同城怎么发布广告信息
  • 黄山北京网站建设wordpress 替代文本
  • 江山企业自适应网站建设首选临沂公司做网站
  • 莱钢建设有限公司网站个人怎么见个网站
  • 塑料机械网站建设如何自己做优惠券网站
  • 网站设计大概流程电子商务有限公司有哪些
  • 北京做网站建设备案号怎么查询
  • 石家庄网站建设平台有哪些heroku wordpress
  • 厦门市建设局网站摇号飓风 网站建设
  • 网站建设规划书结构迪庆企业网站建设公司