C语言宏的学习:

 为了记住自己都每天的学习,以后不管学到什么,我要记下来:

一:

1.预处理命令的作用:

 改进程序设计环境,提高编程效率。

2.预处理命令不是C语言的组成部分,不能对它们进行编译(应为编译程序不能识别它们),必须在对程序进行通常的编译(包括词法和语法分析,代码生成,优化等)之前,先对这些特殊的命令(预处理命令)进行预处理,,即根据预处理命令对程序作相应的处理。

二:

 

宏定义有2种

1.不带参数的宏定义

2.带参数的宏定义

不带参数的宏的定义:

1)形式:

#define 标识符 字符串

2)说明:

1:宏名一般习惯用大写字母,以便与变量名区别

2: 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量

3: 宏定义是用宏名代替一个字符串,也就是作简单的置换,不作正确性检查

4: 宏定义不是C语句,不必在行末加分号

5:#define命令出现在程序中函数的外面,宏名的有效范围为定义命令子后到本源文件结束。通常,#define命令在文件的开头,函数之前,作为文件的一部分,在次文件范围内有效。

6:可以用#undef命令终止宏定义的作用域

7:在进行宏定义时,可以引用以定义的宏名,可以层层置换

8:对程序中用双撇号括起来的字符串内的字符,即使宏名相同,也不进行置换

9:宏定义时专门用于预处理命令的一个专用名词,它与定义的变量的含义不同,只作字符替换,不分配内存空间。

带参数的宏定义:

不是简单的进行字符串替换,还要进行参数替换

1)形式:

#define 宏名(参数) 字符串

2)说明:

1:对带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替#define命令行中的形参

2:在宏定义时,在宏名与带参数的括弧之间不应加空格,否则将空壳以后的字符都将作为替代字符串的一部分

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值