日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C語言特定字的解釋

 NaturalWill 2014-01-14
以“#”號開頭的都是C語言中的預(yù)處理命令。一般都放在源文件的前面,是在對源程序正式編譯前由預(yù)處理程序完成的。

所謂預(yù)處理是指在進(jìn)行編譯的第一遍掃描(詞法掃描和語法分析)之前所作的工作。預(yù)處理是C語言的一個(gè)重要功能, 它由預(yù)處理程序負(fù)責(zé)完成。當(dāng)對一個(gè)源文件進(jìn)行編譯時(shí), 系統(tǒng)將自動(dòng)引用預(yù)處理程序?qū)υ闯绦蛑械念A(yù)處理部分作處理, 處理完畢自動(dòng)進(jìn)入對源程序的編譯。

具體解釋如下:

#define:宏定義命令,就是用一個(gè)標(biāo)識符來表示一個(gè)字符串。
例如 #define MAX 100 那么,在代碼中就可以使用標(biāo)識符MAX來代替100這個(gè)具體的值(這個(gè)叫宏代換,宏展開),如果想修改,直接修改定義處的值,而代碼不必改,便于程序的修改。

#include:文件包含命令,一個(gè)C程序可能需要一些函數(shù)原型的聲明文件,或者多人開發(fā)的源程序,包含命令就是將這些文件內(nèi)容引入到本源文件中,形成一個(gè)完整的C項(xiàng)目程序。例如 #include"math.h" 就是將數(shù)學(xué)公式函數(shù)的頭文件包含進(jìn)來,代碼中才能調(diào)用一些數(shù)學(xué)公式。

#ifdef #else #endif #ifndef #undef:這些是相到關(guān)聯(lián)的條件編譯命令??梢园床煌臈l件去編譯不同的程序部分,因而產(chǎn)生不同的目標(biāo)代碼文件。 這對于程序的移植和調(diào)試是很有用的。
例如:
ifdef 標(biāo)識符
程序段1
#else
程序段2
#endif

功能是,如果標(biāo)識符已被 #define命令定義過則對程序段1進(jìn)行編譯;否則對程序段2進(jìn)行編譯。如果沒有程序段2(為空),則#else可以省略。

#ifndef 標(biāo)識符
程序段1
#else
程序段2
#endif

與第一種形式的區(qū)別是將“ifdef”改為“ifndef”。它的功能是,如果標(biāo)識符未被#define命令定義過則對程序段1進(jìn)行編譯, 否則對程序段2進(jìn)行編譯。這與第一種形式的功能正相反。

#line:
改變_LINE_ 與_ F I L E _的內(nèi)容,它們是在編譯程序中預(yù)先定義的標(biāo)識符。命令的基本形式如下:
# line number["filename"]

其中的數(shù)字為任何正整數(shù),可選的文件名為任意有效文件標(biāo)識符。行號為源程序中當(dāng)前行號,文件名為源文件的名字。命令#line主要用于調(diào)試及其它特殊應(yīng)用。

例如,下面說明行計(jì)數(shù)從100開始;printf()語句顯示數(shù)102,因?yàn)樗钦Z句#line 100后的第3行。

#line 100 /* 初始化行計(jì)數(shù)器* /
main ( ) /* 行號100 */
{ /* 行號101 */
printf("%d\n",_line_) ; /* 行號102 */

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多