2010年9月1日 星期三
前置處理器 " # "
"前置處理器"!?
有些人可能不懂什麼是前置處理器,在此先用下圖來簡單說明一下
不管是 C or C++ 每個程式最上頭幾乎都會有#include、#define、#undef...等
本篇將對下列前置處理器名稱進行說明
1.#include
2.#define
3.#undef
4.#if
5.#endif
6.#else
7.#elif
8.#ifdef
9.#ifndef
1.#include 應該是大家最常見的,通常用來嵌入其它檔案
例:
#include <stdio.h> (內建函式庫使用< >來include)
#include "highgui.h" (自己建立的函式庫使用" "來include)
2.#define 用來"定義",常數 or 函式 or 字串
例:
#define PI 3.141592
3.#undef 用來"取消定義"
例:
#undef PI
4.#if 如同程式中的if
例:
#if (a<100)
printf("a小於100");
5.#endif 為結束if敘述句
例:
#if (a<100)
printf("a小於100");
#endif
6.#else 如同程式中的else
例:
#if (a<100)
printf("a小於100");
#else
printf("a大於100");
#endif
7.#elif 如同程式中的else if
例:
#if (a<100)
printf("a小於100");
#elif (a>100)
printf("a大於100");
#else
printf("a等於100");
#endif
8.#ifdef 條件必須先被定義過
例:
#define data
#ifdef data
printf("有定義data");
#endif
9.#ifndef 條件不能被定義
例:
#ifndef data
printf("未定義data");
#endif
怕有人對8、9點還不太懂,在此用下列例子來再一次講解
例:
#define TURBOC //(定義TURBOC)
int main()
{
#ifdef TURBOC //(因為有定義TURBOC所以此條件成立)
printf("Borland C compiler.\n");
#endif //(結束#ifdef)
#undef TURBOC //(消除TURBOC定義)
#ifndef TURBOC //(因為TURBOC沒被定義所以此條件成立)
printf("MircoSoft C compiler.\n");
#endif //(結束#ifdef)
}
執行結果:
Borland C compiler.
MircoSoft C compiler.
最後修改:
9/01/2010 05:57:00 上午
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言