c語言中的預處理(1)

2021-06-07 08:00:36 字數 514 閱讀 6993

剛接觸c語言的人都知道,每次主程式開始前都得寫乙個#include。。。但是卻不知道為什麼非要加這個東西,學了一段時間後,似乎會明白一點,但還是稀里糊塗的,在這裡,我們就把這玩意兒抽絲剝繭弄個明白。

在c語言裡,有一種非常有用而又必不可少的部分,叫做預處理,說道這兒有人就笑了,不就是#include和#define嗎,有啥好說的,其實好多人都是這麼人為地,那我只能說一句,你的c語言還沒入門。。。我最開始學c的時候,編的第乙個程式不是hello world而是流水燈,跑在51上,之後寫的90%的**都是跑在微控制器上,都是絕對實用的程式,曾經走過的彎路告訴我,預處理絕不是那麼簡單。。。扯遠了,下邊來看看預處理都有什麼型別吧。

常用的預處理有這麼幾種:巨集定義(#define、#undef)、檔案包含(#include)、條件編譯(#ifdef、#ifndef、#end;#if、#else、#elif、#endif),還有如#line、#error、#pragma。

下面,我會依次討論這幾種預處理的常見用法和錯誤。因為水平有限,難免會有錯誤,寫的不對的地方,歡迎拍磚

c語言中的預處理(2)

在函式式巨集定義中,運算子用於建立字串,運算子後面應該跟乙個形參 中間可以有空格或tab 例如 define str s s str hello world 用cpp命令預處理之後是 hello world 自動用 號把實參括起來成為乙個字串,並且實參中的連續多個空白字元被替換成乙個空格。在巨集定義...

C語言中的預處理命令

預處理指令 1.在源程式編譯之前,先進行一些特殊的預處理指令作解釋,產生乙個新的源程式 這個過程稱為編譯預處理 之後在進行通常的編譯。2.為了區別預處理指令和一般的c語言,所有預處理指令都是以 開頭,並且結尾無分號 3.預處理指令可以出現在程式的任何位置,它的作用範圍是從它出現的位置到檔案尾。4.c...

C 語言中的預處理命令

由於預處理命令不是 c 語言本身的組成部分,所以 c 編譯程式不能識別它們,也就不能直接對它們進行編譯,所以在 c 程式編譯之前,必須先對預處理命令進行處理,處理後程式中不再包括預處理命令了,再由編譯程式處理得到目標 c 語言提供的預處理命令共有三中 巨集定義,檔案包含和條件編譯,預處理命令以 開頭...