编译预处理与宏:宏定义

xiaoxiao2021-02-28  15

编译预处理指令

#开头的是编译预处理指令它们不是C语言的成分,但是C语言程序离不开它们#define用来定义一个宏

#define

#define <名字><值>注意没有结尾的分号,因为不是C的语句名字必须是一个单词,值可以是各种东西在C语言的编译器开始编译之前,编译预处理程序(cpp)会把程序中的名字换成值 完全的文本替换gcc --save-temps

如果一个宏的值中有其他的宏的名字,也是会被替换的如果一个宏的值超过一行,最后一行之前的行末需要加 \宏的值后面出现的注释不会被当作宏的值的一部分 #include<stdio.h> #define PI 3.1415926 #define FORMAT "%f\n" #define PI2 2*PI //pi*2 #define PRT printf("%f ",PI) \ printf("%f\n",PI2) int main(){PRT;return 0;}

没有值的宏

#define _DEBUG这类宏是用于条件编译的,后面有其他编译预处理指令来检查这个宏是否已经定义过了

预定义的宏

_LINE__FILE__DATE__TIME__STDC_
转载请注明原文地址: https://www.6miu.com/read-2800044.html

最新回复(0)