卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

編譯預(yù)處理

C 程序設(shè)計(jì)中的編譯預(yù)處理是一項(xiàng)重要的功能,包括了宏和文件包含兩個(gè)主要部分。宏在C 源程序中,可以使用宏來代表一個(gè)字符串,稱為"宏"。在編譯預(yù)處理階段,所有出現(xiàn)的"宏名"都會(huì)被替換為宏定義中的字符

C 程序設(shè)計(jì)中的編譯預(yù)處理是一項(xiàng)重要的功能,包括了宏和文件包含兩個(gè)主要部分。

在C 源程序中,可以使用宏來代表一個(gè)字符串,稱為"宏"。在編譯預(yù)處理階段,所有出現(xiàn)的"宏名"都會(huì)被替換為宏定義中的字符串,這個(gè)過程稱為"宏代換"或者"宏展開"。

無參宏的宏名后面不帶參數(shù)。一般的宏定義形式如下:

```

#define 標(biāo)識(shí)符 字符串

```

使用無參宏定義需要注意以下幾點(diǎn):

1. 宏定義只是一種簡單的文本替換,字符串中可以包含任何字符,預(yù)處理程序?qū)ζ洳蛔鋈魏螜z查。

2. 宏定義不是說明或語句,在行末不要加分號(hào),如果加上分號(hào),則連分號(hào)也會(huì)被替換。

3. 宏定義必須寫在函數(shù)之外,其作用域從宏定義命令到源程序結(jié)束。

4. 如果在源程序中將宏名用引號(hào)括起來,則預(yù)處理程序不會(huì)對其進(jìn)行宏代換。

5. 宏定義允許嵌套,可以在宏定義的字符串中使用已經(jīng)定義的宏名。

文件包含

文件包含命令的功能是將指定的文件插入到當(dāng)前命令行的位置,取代該命令行,從而將指定的文件和當(dāng)前的源程序文件連接成一個(gè)源文件。

文件包含的一般形式如下:

```

#include "文件名"

```

使用文件包含需要注意以下幾點(diǎn):

1. 使用尖括號(hào)表示在系統(tǒng)目錄中查找被包含的文件,而不在源文件目錄中查找;使用雙引號(hào)則表示首先在當(dāng)前的源文件目錄中查找,若未找到才到系統(tǒng)目錄中查找。

2. 一個(gè)include命令只能指定一個(gè)被包含的文件。

3. 文件包含允許嵌套,即在一個(gè)被包含的文件中又可以包含另一個(gè)文件。

#ifdef條件

如果標(biāo)識(shí)符已經(jīng)通過#define命令進(jìn)行了定義,則對程序段1進(jìn)行編譯;否則對程序段2進(jìn)行編譯。一般形式如下:

```

#ifdef 標(biāo)識(shí)符

程序段1

#else

程序段2

#endif

```

#ifndef條件

如果標(biāo)識(shí)符沒有通過#define命令進(jìn)行定義,則對程序段1進(jìn)行編譯;否則對程序段2進(jìn)行編譯。一般形式如下:

```

#ifndef 標(biāo)識(shí)符

程序段1

#else

程序段2

#endif

```

#if條件

如果常量表達(dá)式的值為真(非0),則對程序段1進(jìn)行編譯;否則對程序段2進(jìn)行編譯。一般形式如下:

```

#if 常量表達(dá)式

程序段1

#else

程序段2

#endif

```

標(biāo)簽: