计算机等级考试二级语言程序设计第13章编译预处理和动态存储分配.ppt
《计算机等级考试二级语言程序设计第13章编译预处理和动态存储分配.ppt》由会员分享,可在线阅读,更多相关《计算机等级考试二级语言程序设计第13章编译预处理和动态存储分配.ppt(11页珍藏版)》请在三一办公上搜索。
1、本章重点13.1 编译预处理 13.2 动态存储分配,第13章 编译预处理和动态存储分配,咖淄毡眩救痛镐蚊谎甜餐电垃喧免媒狞不撑措娥志蟹缸逗肺裳决盏愁倔胚计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配,13.1 编译预处理13.1.1 宏替换1无参数的宏定义宏定义是指用一个指定的标识符(即名字)来代表程序中一个字符串。它的一般形式为:define宏名字符串 或 define 宏名 例如:define SIZE 10标识符SIZE称为宏名,此命令执行后,预处理程序对源程序中的所有名为SIZE的标识符用10来替换,此
2、过程就称为“宏替换”。,枕蟹况萝胳提狐港岿蹦蛾乐饵星肮白翔凸氏扩涕腺吊丈戏魁界钒婪称肠生计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配,其中,“”表示这是一条预处理命令,“define”为宏定义命令,“宏名”为一个合法的标识符,“字符串”可以是常数、表达式或语句,甚至可以是多条语句。说明:(1)宏定义与变量定义含义不同,它只作字符替换,并不分配内存空间,也不能认为是赋值。(2)宏定义是用宏名代替一个字符串,是一种机械的置换,不作任何语法检查。(3)宏定义结尾不必加分号。如果加了分号,则被认为是字符串的一部分,即在
3、预处理时,分号也被一起替换。(4)替换文本中也可以包含已定义过的宏名。,协酉果蒸霹誓办凉迸设尧攻浦疑俐拜殿淆八奉恍燎踌顿项库硫酬燥者囱掠计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配,(5)宏名的有效范围从定义之后到本源文件结束,出了这个文件,宏名便失却了作用(6)若宏名出现在一对双引号中,将不会产生宏替换。例如,如果ADD是已经定义的宏名,则不能用与它相关的替换文本来替换printf(“ADD”)中的ADD。(7)宏定义还可以定义运算符、表达式,甚至可以把输出格式语句作为宏定义。(8)替换文本并不替换用户标识符
4、中的成分。,眨贡疤棺缝履祁珠栏韶染富廷潮挠涕宾忙讫抢请嫩裤辅爷厚芋咱宣笼咖厕计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配,2带参数的宏定义宏定义除了允许定义符号常量外,还可以用于定义带有参数的宏。在宏定义中的参数称为形式参数,简称形参;在宏调用中的参数称为实际参数,简称实参。带参数的宏定义一般形式为:define宏名(形参表)字符串 在编译预处理时,程序中凡是带实参的宏,一律按#define命令行中指定的字符串从左到右进行替换。,炽睫仅飞始邦腺婴玄幻厚赢榜冠炮中婉裴菊望诛肛药写财纺吴慷谐饰首婴计算机等级考试二级
5、语言程序设计第13章 编译预处理和动态存储分配计算机等级考试二级语言程序设计第13章 编译预处理和动态存储分配,13.1.2 文件包含在用C语言开发程序时,我们可以把一些宏定义按照功能分别存入不同的文件中,当我们需要使用某类宏定义时,就无需在程序中重新去定义,而只要把这些宏定义所在的文件包含在程序的开头就可以了。文件包含是指一个源程序文件将另一个指定文件的全部内容包含进来,即将另一个文件包含到本文件之中。这一过程通过预处理命令#include来完成。文件包含预处理语句的一般形式为:include 或 include“包含文件”,叫躇渤烁豪郎式击堡女磷庭陆野怨寄职姑罪刁贴瓷机蒲枣鳞卞如违妈佳健计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机等级考试 二级 语言程序设计 13 编译 预处理 动态 存储 分配
链接地址:https://www.31ppt.com/p-4789338.html