C語言基礎自學總結之九 預處理

2021-10-30 15:23:03 字數 1045 閱讀 8802

1.預處理一般是指在程式源**被翻譯為目標**的過程中,生成二進位制**之前的過程

3.預處理是:把.c檔案變成.i 檔案,他們都是c語言檔案,預處理做的第一件事就是展開標頭檔案,把檔案內容寫出來。第二件事就是替換巨集。

例子1:什麼叫做巨集

#include

#define n 6//這就是巨集,意思是用6替換n,從這裡開始程式所有的n 就是6.在預處理的時候,n九備替換成6,巨集是發生在預處理的單純的字串的替換,

//define,無參巨集定義的一般形式為:#define 識別符號字串,不是c語言不用;結尾。

int main(void)

例子2:巨集的使用

#include

#define buf 6

void scan(char *buf)

return;

}void print(char *buf)

// return;

}int main(void)

例子3:巨集也可帶引數

#include

#define p(a) a++

int main(void)

1.typedef在計算機程式語言中用來為複雜的宣告定義簡單的別名,與巨集定義有些差異。它本身是一種儲存類的關鍵字,與auto、extern、mutable、static、register等關鍵字不能出現在同乙個表示式中。

例子1:typedef是什麼

#include

typedef int i_t;//i_t是int的乙個別名,一般都用_t結尾,表示typedef,當然也可隨意,是c語言要用;結尾

int main(void)

例子2:使用

//#include

typedef long len_t;//怎麼宣告乙個變數就怎麼宣告乙個typedef(別名)。

typedef int* p;//宣告乙個指標的別名

typedef int (*b)[10];//int * xx[10]前面加上typedef xx就是乙個陣列指標型別,同理成為了乙個陣列指標型別。

int main(void)

C語言預處理命令有哪些

往往我說今天上課的內容是預處理時,便有學生質疑 預處理不就是include 和define麼?這也用得著講啊?是的,非常值得討論,即使是include 和define。但是預處理僅限於此嗎?遠遠不止。先看幾個個常識性問題 a 預處理是c 語言的一部分嗎?b 包含 號的都是預處理嗎?c 預處理指令後面...

C語言基礎自學總結之十 檔案操作

1.檔案操作,就是通過程式,操作檔案 2.兩個方面 讀,寫 函式原型 file fopen char filename,char type int fclose file fp 標頭檔案 include 是否是標準函式 是 函式功能 函式fopen 開啟乙個流,即 開啟乙個檔案。該函式有兩個引數,f...

C語言基礎自學總結之八 結構體與列舉

1.什麼是結構體 結構體 struct 是由一系列具有相同型別或不同型別的資料變數構成的資料集合,也叫結構 2.什麼是列舉 列舉簡單的說也是一種資料型別,只不過是這種資料型別只包含自定義的特定資料,它是一組有共同特性的資料的集合。舉個例子,顏色也可以定義成列舉型別,它可以包含你定義的任何顏色,當需要...