c語言之預處理命令

2021-10-02 17:09:56 字數 1265 閱讀 1295

c提供的預處理功能有:

巨集定義檔案包含

條件編譯

為了與其她c語句區分,命令經常以符號「#」開頭。

#define 識別符號 字串

可以避免反覆輸入字串,後面不加;巨集定義在預設時的有效範圍是全部。也可以用#undef終止巨集定義區域。

不含引數

巨集展開帶入程式

含引數

#define s(a,b) a*b

#include

#define pi 3.1415

#define s(r) pi*r*r

intmain()

這裡強調實參a代替形參r,當實參含有若干時,注意括號的優先順序.

帶引數的巨集定義與函式呼叫的關係:

1.函式呼叫時,是先算出實參表示式的值,然後代入形參。

2.函式的實參形參都需要定義型別,而巨集定義不需要。

即乙個原始檔可以將另外乙個原始檔的全部**內容包括起來。常見的#include命令用來實現該操作。

當你往往要使用一些固定的資料時,可以將其寫到乙個檔案裡,寫其他檔案時直接引用。

說明:使用檔案包含處理的前提是建立乙個專案,使得他們都在乙個專案裡才能互相使用。

你如果講乙個函式宣告2次,就會報錯。所以把函式宣告寫在標頭檔案中後,如果引用了2次這個標頭檔案,也會報錯。#ifndef #define 巨集就是用來避免標頭檔案重複包含的

形式:#if-程式1 -#else-程式2-#endif

功能為:如果#if後的條件表示式為真,則程式1被選中,否則程式2被選中。

#include

#define result 0

//定義 result 為 0

int main (

void

)

2.#ifndef-識別符號-#define-識別符號 替換列表-#endif

功能為:一般用於檢測程式中是否已經定義了名字為某識別符號的巨集,如果沒有定義該巨集,則定義該巨集,並選中從 #define 開始到 #endif 之間的程式段;如果已定義,則不再重複定義該符號,且相應程式段不被選中。

C語言之預處理命令

ansi c標準規定可以在c源程式中加入一些 預處理命令 以改進程式設計環境,提高程式設計效率。這些預處理命令不是c語言本身的組成部分,不能直接對它們進行編譯。先要對程式中的這些特殊的命令進行 預處理 經過預處理後的程式不在包括預處理命令了,最後再由編譯程式對預處理後的源程式進行通常的編譯處理,得到...

C語言之預處理

預處理指令 在 編譯 0和1 之前執行的指令叫預處理指令。所有的預處理指令都是以 開頭。預處理的位置是隨便寫的 預處理指令的作用域 從編寫指令的那一行開始一直到檔案結尾 undef 巨集名 從這行 開始,巨集失效 巨集名一般用大寫 或者在巨集名前加 k 代表常量 變數名一般用小寫 一 巨集定義 格式...

C語言之預處理

預處理是c語言 也包括oc 的一部分,它們是一些特殊的命令.在編譯器對c程式 或者 oc程式 進行編譯之前,編譯器會對這些預處理命令進行處理,然後將這些處理的結構與源程式一起進行編譯.預處理命令有如下特徵.1 預處理命令必須以 號開頭 2 預處理通常位於程式的開頭部分 下面一起來看一下幾種使用情況 ...