c语言 if ifdef,C语言的#if #ifdef #ifndef

#if #ifedf #ifndef

—般情况下,C语言源程序中的每一行代码.都要参加编译。但有时候出于对程序代码优化的考虑.希望只对其中一部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译!

条件编译是C语言中预处理部分的内容,它是编译器编译代码时最先处理的部分,

条件编译里面有判断语句,比如 #if 、#else 、#elif 都由#endif结束

它的意思是如果宏条件符合,编译器就编译这段代码,否则,编译器就忽略这段代码而不编译,如

#include

#define i -1

void main()

{

#if (i > 0)

{

printf("%d\n", i);

printf("You defined stone!\n");

}

#elif (i == 0)

{

printf("%d\n", i);

printf("You defined river!\n");

}

#else

{

printf("%d\n", i);

printf("You defined NULL!\n");

}

#endif

}

#include

#define i -1

voidmain()

{//int i;        条件编译的条件一般由 #define 去定义, int 类型的变量不能起到效果//scanf_s("%d", &i);

#if (i > 0){

printf("%d\n", i);

printf("You defined stone!\n");

}#elif (i == 0){

printf("%d\n", i);

printf("You defined river!\n");

}#else{

printf("%d\n", i);

printf("You defined NULL!\n");

}#endif}

#ifdef   判断宏是否定义, 是就执行ifdef下的代码, 否则执行else下的代码

#include

//#define stone

#ifdef stonevoidmain()

{

printf("You defined stone!\n");

}#else

voidmain()

{

printf("You defined NULL!\n");

}#endif

#ifndef    一般用于检查定义, 防止重复定义

#ifndef stone //如果VALUE没有被定义

#define stone1000 //定义VALUE 为1000

#endif

自我理解, 不对的地方请指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值