b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

简单地解释C语言中宏的定义和使用

电脑杂谈  发布时间:2020-05-25 07:32:11  来源:网络整理

c预编译宏开关_c预编译宏开关_条件编译 宏

宏定义是一种预编译功能. 预编译,也称为预处理,是准备工作的阶段. 处理#开头的指令,例如复制#include中包含的文件代码,#define宏定义替换,条件编译等.

使用宏定义的好处: 使用宏定义的好处: 可以提高程序的通用性和易读性,减少不一致,减少输入错误并方便修改. 例如,常数π有时在程序中的多个位置使用. 如果每次使用它都被重新定义,那将很麻烦且容易出错,因此我们可以使用π作为宏定义.

语法说明:

(1)宏名称通常使用大写字母

(2)宏的使用可以提高程序的性和可读性,减少不一致,减少输入错误并便于修改. 例如: 数组大小的通用宏定义

c预编译宏开关_c预编译宏开关_条件编译 宏

(3)预处理是在编译之前进行处理,编译工作的任务之一是语法检查,而预处理不进行语法检查.

(4)宏定义的末尾没有分号;

(5)宏定义写在函数的花括号之.

(6)您可以使用#undef命令终止宏定义的范围

(7)可以嵌套宏定义

条件编译 宏_c预编译宏开关_c预编译宏开关

(8)字符串“”将永远不包含宏

(9)宏定义不分配内存,变量定义分配内存.

定义:

#define 宏名 内容
#define kArrLen 10 // OC驼峰命名法:首字符为k,其他单词首字符大写
#define ARR_LEN 10 // C语言中的宏命名规范:所有字母大写,单词用下划线分隔

例如:

c预编译宏开关_c预编译宏开关_条件编译 宏

#define PI 3.1415926

我们可以使用PI代替3.1415926:

float r = 0.5;
float area = PI * r * r;
printf("area = %f\n", area);

在程序预编译阶段,PI将替换为3.1415926:

float area = 3.1415926 * r * r;

c预编译宏开关_c预编译宏开关_条件编译 宏

宏定义的内容非常简单易懂,但是有以下几点预防措施:

1. 因为宏定义只是简单的替换,所以如果宏定义的内容中有操作,则应在每个变量中添加括号,以免影响操作的优先级

例如: #define MUL(A,B)(A * B)

使用方法:

MUL(3 + 5, 5 + 6) //会替换成 3 + 5 * 5 + 6 = 34

我们想要(3 + 5)*(5 + 6)c预编译宏开关,因此在定义宏定义时:

#define MUL(A, B) ((A) * (B))

2. 请注意,宏定义后没有分号(;),这不是语句

3. 宏定义在程序编译的早期阶段就被替换了c预编译宏开关,此时程序还没有被编译


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-221451-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 杨廷玉
        杨廷玉

        现在的媒体都成了杀猪刀

      • 王胜群
        王胜群

        必将来犯之敌全部葬送于南海海域

      热点图片
      拼命载入中...