C语言 (条件编译#ifdef、#ifndef) (#if 常量,#if 1,#if 0)的用法
當(dāng)屏蔽掉大塊代碼時(shí),使用"#if 0"比使用"/**/"要好,因?yàn)橛?#34;/**/"做大段的注釋要防止被注釋掉的代碼中有嵌套的"/**/",這會(huì)導(dǎo)致注釋掉的代碼區(qū)域不是你想要的范圍,當(dāng)被注釋掉的代碼很大時(shí)容易出現(xiàn)這種情況,特別是過一段時(shí)間后又修改該處代碼時(shí)更是如此。
文章目錄
- 不嵌套情況
- 1. 情況1:
- 2.情況2:
- 3.情況3:
- 二、 嵌套情況
- 1、情況1
不嵌套情況
1. 情況1:
#ifdef _XXXX...程序段1...#else...程序段2...#endif這表明如果標(biāo)識符_XXXX已被#define命令定義過則對程序段1進(jìn)行編譯;否則對程序段2進(jìn)行編譯。
2.情況2:
#ifndef _XXXX...程序段1...#else...程序段2...#endif這里使用了#ifndef,表示的是if not def。當(dāng)然是和#ifdef相反的狀況(如果沒有定義了標(biāo)識符_XXXX,那么執(zhí)行程序段1,否則執(zhí)行程序段2)。
3.情況3:
#if 常量...程序段1...#else...程序段2...#endif這里表示,如果常量為真(非0,隨便什么數(shù)字,只要不是0),就執(zhí)行程序段1,否則執(zhí)行程序段2。
二、 嵌套情況
1、情況1
#if 常量a...程序段1... #else#if 常量b...程序段2...#else...程序段3...#endif#endif這里表示,如果常量a為真(非0,隨便什么數(shù)字,只要不是0),就執(zhí)行程序段1。當(dāng)常量a為0,常量b為真時(shí),執(zhí)行程序段2;
當(dāng)常量a為0,常量b為0時(shí),執(zhí)行程序段3;
參考文章:#if 0/#if 1用法
總結(jié)
以上是生活随笔為你收集整理的C语言 (条件编译#ifdef、#ifndef) (#if 常量,#if 1,#if 0)的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言多线程教程(pthread)(线程
- 下一篇: C语言getenv()函数的用法?(获取