下载此文档

编译预处理办法和动态存储分配.ppt


文档分类:论文 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
(即名字)来代表程序中一个字符串。它的一般形式为:#define 宏名字符串或#define宏名例如:#defineSIZE10 标识符SIZE称为宏名,此命令执行后,预处理程序对源程序中的所有名为SIZE的标识符用10来替换,此过程就称为“宏替换”。其中,“#”表示这是一条预处理命令,“define”为宏定义命令,“宏名”为一个合法的标识符,“字符串”可以是常数、表达式或语句,甚至可以是多条语句。说明:(1)宏定义与变量定义含义不同,它只作字符替换,并不分配内存空间,也不能认为是赋值。(2)宏定义是用宏名代替一个字符串,是一种机械的置换,不作任何语法检查。(3)宏定义结尾不必加分号。如果加了分号,则被认为是字符串的一部分,即在预处理时,分号也被一起替换。(4)替换文本中也可以包含已定义过的宏名。(5)宏名的有效范围从定义之后到本源文件结束,出了这个文件,宏名便失却了作用(6)若宏名出现在一对双引号中,将不会产生宏替换。例如,如果ADD是已经定义的宏名,则不能用与它相关的替换文本来替换 printf(“ADD”)中的ADD。(7)宏定义还可以定义运算符、表达式,甚至可以把输出格式语句作为宏定义。(8)替换文本并不替换用户标识符中的成分。,还可以用于定义带有参数的宏。在宏定义中的参数称为形式参数,简称形参;在宏调用中的参数称为实际参数,简称实参。带参数的宏定义一般形式为: #define 宏名(形参表) 字符串在编译预处理时,程序中凡是带实参的宏,一律按#define命令行中指定的字符串从左到右进行替换。,我们可以把一些宏定义按照功能分别存入不同的文件中,当我们需要使用某类宏定义时,就无需在程序中重新去定义,而只要把这些宏定义所在的文件包含在程序的开头就可以了。文件包含是指一个源程序文件将另一个指定文件的全部内容包含进来,即将另一个文件包含到本文件之中。这一过程通过预处理命令#include来完成。文件包含预处理语句的一般形式为: #include <包含文件>或#include “包含文件”其中,包含文件名是磁盘中文本文件的名字。例如: #include<>或#include"" 在编译时,预编译程序将用指定文件中的内容来替换此命令行。,我们用于存储数据的变量和数组都必须在说明部分进行定义。C编译程序通过定义语句了解它们所需存储空间的大小,并预先为其分配适当的内存空间。这些空间一经分配,在变量或数组的生存期内是固定不变的。所以这种方式也称为“静态存储分配”。C语言中还有一种“动态存储分配”的内存空间分配方式,在程序执行期间需要空间来存储数据时,通过申请分配指定的内存空间;当有闲置不用的空间时,可以随时将其释放,由系统另作它用。用户可以通过调用C语言提供的

编译预处理办法和动态存储分配 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sanshenglu2
  • 文件大小104 KB
  • 时间2020-02-28
最近更新