- 相關(guān)推薦
C語言零碎知識點
C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域以及遞歸功能的過程式語言。下面我們來看看C語言零碎知識點。
1.編譯預(yù)處理
2.宏定義:標(biāo)識符代替字符串;分為有參數(shù)和無參數(shù)
3.#undef:刪除前面定義的宏的名字。
4.無參宏:宏名后不帶參數(shù),一般形式:#define 標(biāo)識符 字符串 ①宏定義不是說明或語句,在行末不必加分號,如加上分號則連分號一起置換;②宏定義必須寫在函數(shù)之外,其作用域為宏定義命令起到源程序結(jié)束。如要終止其作用域可使用#undef命令;③宏名在源程序中若用引號括起來,則預(yù)處理程序不對其作宏帶換;④宏定義允許嵌套,在宏定義的字符串中可以使用已經(jīng)定義的宏名。在宏展開時由預(yù)處理程序?qū)訉哟鷵Q。⑤習(xí)慣上宏名用大寫字母表示,以便于與變量區(qū)別。⑥宏定義只是簡單的字符串代換,是在預(yù)處理完成的,而typedef是在編譯時處理的,它不是作簡單的代換,而是對類型說明符重新命名。
5.帶參宏定義:#define 標(biāo)識符 字符串(含有參數(shù))
#define M(y) (y*y + 3*y)①宏名和參數(shù)表之間不能有空格出現(xiàn);②形式參數(shù)不分配內(nèi)存單元因此不必做類型定義只是符號代換,不存在值傳遞的問題;③形參是標(biāo)識符,實參可以是表達式;④形參通常要用括號括起來以避免出錯;
6.文件包含:把指定的文件插入該命令行位置取代該命令行,從而把指定的文件和當(dāng)前的源程序文件連成一個源文件。
1、#define
命令#define定義了一個標(biāo)識符及一個串。在源程序中每次遇到該標(biāo)識符時,均以定義的串代換它。ANSI標(biāo)準(zhǔn)將標(biāo)識符定義為宏名,將替換過程稱為宏
替換。命令的一般形式為:
#define identifier string
注意:
1該語句沒有分號。在標(biāo)識符和串之間可以有任意個空格,串一旦開始,僅由一新行結(jié)束。
2宏名定義后,即可成為其它宏名定義中的一部分。
3宏替換僅僅是以文本串代替宏標(biāo)識符,前提是宏標(biāo)識符必須獨立的識別出來,否則不進行替換。例如:#define XYZ
this is a test,使用宏printf("XYZ");//該段不打印"this is a test"而打印"XYZ"。因為預(yù)編譯器識
別出的是"XYZ"
4如果串長于一行,可以在該行末尾用一反斜杠' '續(xù)行。
【C語言零碎知識點】相關(guān)文章:
C語言知識點講解03-02
C語言數(shù)組知識點03-29
C語言指針知識點03-29
C語言數(shù)組知識點03-29
C語言循環(huán)結(jié)構(gòu)知識點03-29
C語言循環(huán)語句知識點03-29
C語言數(shù)組知識點總結(jié)12-06
C語言知識點及其簡單應(yīng)用12-03
C語言字符串知識點03-29