第十三章 编译预处理和动态存储分配.pptVIP

  • 0
  • 0
  • 约1.9千字
  • 约 11页
  • 2019-12-24 发布于湖北
  • 举报

第十三章 编译预处理和动态存储分配.ppt

第十三章 编译预处理和动态存储分配 编译预处理 编译之前,先对程序中特殊命令进行“预处理”,然后再进行通常的编译处理,得到目标代码。 C提供的预处理功能主要有以下三种: 1.宏定义; 2.文件包含; 3.条件编译。 动态存储分配 “静态存储分配”: 空间一经分配,在变量或数组的生存期内是固定不变的。 “动态存储分配”:在程序执行期间需要空间来存储数据时,通过“申请”分配指定的内存空间;当有闲置不用的空间时,可以随时将其释放. #include stdlib.h 使用malloc()、calloc()分配空间 使用free()释放空间 例:动态分配空间存放整型数组,赋值并输出 #include iostream.h #include alloc.h void main() {int size,*p; cinsize; if((p=(int *)malloc(size*sizeof(int)) )==NULL) //分配内存 {coutcan’t allocate more memory,terminating.\n”; exit(0); } for(int c=0;csize;c++) p[c]=c*2; for(int c=0;csize;c++) coutp[c]“ ”; coutendl; free(p); } //释放堆内存 上题若采用ca

文档评论(0)

1亿VIP精品文档

相关文档