1 / 11
文档名称:

精品PPT课件----第十三章 编译预处理和动态存储分配.ppt

格式:ppt   页数:11
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

精品PPT课件----第十三章 编译预处理和动态存储分配.ppt

上传人:wo1230 2014/9/29 文件大小:0 KB

下载得到文件列表

精品PPT课件----第十三章 编译预处理和动态存储分配.ppt

文档介绍

文档介绍:第十三章编译预处理和动态存储分配
编译预处理
编译之前,先对程序中特殊命令进行“预处理”,然后再进行通常的编译处理,得到目标代码。
C提供的预处理功能主要有以下三种:
;
;

宏定义
不带参数的宏定义
一般形式为# define 标识符字符串
如: # define PI

2. 便于记忆和书写。

例如,定义数组大小,可以用:
# define array_size 1000
int array [array_size];
要改变数组大小为5,只需改变#define 命令行即可.
,不作语法检查。

6. # define命令常写在文件开头。
带参数的宏定义
不是进行简单的字符串替换,还要进行参数替换。如:
# define S(a,b) a*b
......
area=S(3,2);
赋值语句展开为: area=3*2;
1. # define S(r ) PI*r*r
......
area=S(2+3);
宏展开为: area=PI*2+3*2+3; 与原意不符。
应改为:# define S(r ) PI*(r)*(r)
宏展开area=PI*(2+3)*(2+3); 得到正确结果。
,宏名和带参数的括号间不应加空格
3. 容易将带参数的宏和函数混淆。
“文件包含”处理
一般形式为: # include “文件名”

#include “”
B
B
A
=
A
几点说明:
,如果要包含n个文件,要用n个include命令。
2. 文件包含是可以嵌套的。如下面的例:

#include “”
B
#include “”
A

C
B
A
C
=
3. 在# include命令中,文件名可以用“”或< >括起来,如:# include “”或# include <> 都是合法的。
二者的区别是:用“”时,系统先在源文件所在目录中找要包含的文件,若找不到,再按系统指定的方式检索其它目录。而用尖括号时,不检查源文件所在目录而直接检索系统文件目录。
“”
动态存储分配
“静态存储分配”: 空间一经分配,在变量或数组的生存期内是固定不变的。
“动态存储分配”:在程序执行期间需要空间来存储数据时,通过“申请”分配指定的内存空间;当有闲置不用的空间时,可以随时将其释放.
#include <>
使用malloc()、calloc()分配空间
使用free()释放空间
例:动态分配空间存放整型数组,赋值并输出
#include <>
#include <>
void main()
{int size,*p;
cin>>size;
if((p=(int *)malloc(size*sizeof(int)) )==NULL) //分配内存
{cout<<can’t allocate more memory,terminating.\n”; exit(0); }
for(int c=0;c<size;c++) p[c]=c*2;
for(int c=0;c<size;c++) cout<<p[c]<<“”;
cout<<endl;
free(p); } //释放堆内存

最近更新

2025年石家庄医学高等专科学校单招职业适应性.. 44页

2025年辽宁理工职业大学单招职业适应性考试模.. 45页

2025广西壮族自治区工业和信息化厅直属部分科.. 46页

2025浙江浙大文化创意发展有限公司全资子公司.. 50页

2026天津医科大学第二医院第二批招聘80人参考.. 46页

2026年c语言测考试题库(能力提升) 13页

2026年兰州职业技术学院单招职业倾向性考试模.. 45页

2026年国开电大基础会计形考题库及参考答案【.. 40页

2026年山西国际商务职业学院单招职业技能测试.. 45页

2025年陕西旅游烹饪职业学院单招职业倾向性考.. 45页

基于OBE+OKR的能力进阶式教学模式创新——以《.. 6页

2026年c语言算法考试题库及答案(历年真题) 13页

2026年三门峡职业技术学院单招职业适应性考试.. 43页

2026年云南省怒江傈僳族自治州单招职业倾向性.. 45页

2026年信阳航空职业学院单招职业技能测试题库.. 44页

2024年重庆健康职业学院辅导员考试笔试真题汇.. 36页

2026年刑事诉讼原理与实务模拟题100道附完整答.. 48页

2026年吉林省四平市单招职业倾向性测试模拟测.. 44页

2026年四川机电职业技术学院单招职业适应性测.. 45页

2025年河北轨道运输职业技术学院单招综合素质.. 43页

2026年地方病控制题库附参考答案(巩固) 40页

2026年山东省莱芜市单招职业适应性考试模拟测.. 45页

设计艾灸排烟系统施工方案 6页

江苏省住建厅发布《江苏省城镇排水管网排查评.. 1页

诗句谚语成语中的科学知识课件 23页

机械制图大连理工大学工程图学教研室第六版第.. 55页

中国明朝档案总汇-袁姓 52页

空预器LCS培训文件 68页

2020年MS-EEPO基本功I型小讲座 19页

医用高压氧舱安全管理与应用规范 2018年版 32页