當前位置:才華齋>計算機>C語言>

C語言零碎知識點

C語言 閱讀(1.28W)

C語言是一個有結構化程式設計、具有變數作用域以及遞迴功能的過程式語言。下面我們來看看C語言零碎知識點。

C語言零碎知識點

1.編譯預處理

2.巨集定義:識別符號代替字串;分為有引數和無引數

3.#undef:刪除前面定義的巨集的名字。

4.無參巨集:巨集名後不帶引數,一般形式:#define 識別符號 字串 ①巨集定義不是說明或語句,在行末不必加分號,如加上分號則連分號一起置換;②巨集定義必須寫在函式之外,其作用域為巨集定義命令起到源程式結束。如要終止其作用域可使用#undef命令;③巨集名在源程式中若用引號括起來,則預處理程式不對其作巨集帶換;④巨集定義允許巢狀,在巨集定義的字串中可以使用已經定義的巨集名。在巨集展開時由預處理程式層層代換。⑤習慣上巨集名用大寫字母表示,以便於與變數區別。⑥巨集定義只是簡單的字串代換,是在預處理完成的,而typedef是在編譯時處理的,它不是作簡單的`代換,而是對型別說明符重新命名。

5.帶參巨集定義:#define 識別符號 字串(含有引數)

#define M(y) (y*y + 3*y)①巨集名和引數表之間不能有空格出現;②形式引數不分配記憶體單元因此不必做型別定義只是符號代換,不存在值傳遞的問題;③形參是識別符號,實參可以是表示式;④形參通常要用括號括起來以避免出錯;

6.檔案包含:把指定的檔案插入該命令列位置取代該命令列,從而把指定的檔案和當前的源程式檔案連成一個原始檔。

1、#define

命令#define定義了一個識別符號及一個串。在源程式中每次遇到該識別符號時,均以定義的串代換它。ANSI標準將識別符號定義為巨集名,將替換過程稱為巨集

替換。命令的一般形式為:

#define identifier string

  注意:

1該語句沒有分號。在識別符號和串之間可以有任意個空格,串一旦開始,僅由一新行結束。

2巨集名定義後,即可成為其它巨集名定義中的一部分。

3巨集替換僅僅是以文字串代替巨集識別符號,前提是巨集識別符號必須獨立的識別出來,否則不進行替換。例如:#define XYZ

this is a test,使用巨集printf("XYZ");//該段不列印"this is a test"而列印"XYZ"。因為預編譯器識

別出的是"XYZ"

4如果串長於一行,可以在該行末尾用一反斜槓' '續行。