freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)]軟件研究室培訓(xùn)c語言(編輯修改稿)

2025-02-11 06:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 include 和 include “ ” 有什么區(qū)別? include : 在使用 時(shí),編譯器將會(huì)到指定的系統(tǒng)或標(biāo)準(zhǔn)頭文件目錄查找頭文件。通常用于標(biāo)準(zhǔn)或系統(tǒng)提供的頭文件。 include “ ”: 在使用“ ”時(shí),編譯器將會(huì)到用戶創(chuàng)建的項(xiàng)目文件所在目錄查找頭文件。通常用于程序自己的頭文件。 例 12: include include include “” include “” 第三章 預(yù)處理器 第三章 預(yù)處理器 條件編譯 (1). 條件編譯可以按照不同的編譯條件,組織成不同的代碼。 例 13: define MCS51 … … ifdef MCS51 Baud = 9600。 elif MSP430 Baud = 4800。 elif PC104 Baud = 115200。 endif … … (2). 條件編譯可用于調(diào)試。將用于調(diào)試的語句放入條件編譯中。 例 14: define DEBUG … … TotalNum = a + b。 ifdef DEBUG printf(“The total num is: %d”,TotalNum)。 endif … … 當(dāng)程序調(diào)試結(jié)束后,只需將 define DEBUG一句取消,即可將程序中所有的 調(diào)試語句刪去。 第三章 預(yù)處理器 (3). 在通用的模塊中,可以通過條件編譯實(shí)現(xiàn)功能的可裁減。 例 14: define TMR_SET_EN … … ifdef TMR_SET_EN void TMR_Set(char tmr_init, char tmr_mod, char tmr_fnct) { … … } endif … … 如果不需要 TMR_Set功能,只需將 define TMR_SET_EN語句刪除即可。輕 松實(shí)現(xiàn) TMR模塊的可裁減特性。 第三章 預(yù)處理器 (4). 在宏定義時(shí),避免重復(fù)定義。 例 15: ifndef TRUE define TRUE 1 endif ifndef FALSE define FALSE 0 endif 第三章 預(yù)處理器 第四章 結(jié)構(gòu)、聯(lián)合和枚舉 結(jié)構(gòu)體 結(jié)構(gòu)是由若干(可不同類型的)數(shù)據(jù)項(xiàng)組合而成的復(fù)合數(shù)據(jù)對(duì)象,這些數(shù)據(jù) 項(xiàng)稱為結(jié)構(gòu)的 成分 或成員。 (1) 字段 C 語言的結(jié)構(gòu)還提供了一種定義字段的機(jī)制,使人在需要時(shí)能把幾個(gè)結(jié)構(gòu)成 員壓縮到一個(gè)基本數(shù)據(jù)類型成員里存放,這可以看作是一種數(shù)據(jù)壓縮表示方 式。 例 16: struct pack { unsigned a:2。 unsigned b:8。 unsigned c:6。 } pk1, pk2。 結(jié)構(gòu)變量 pk1或者 pk2的三個(gè)成員將總共占用 16位存儲(chǔ),其中 a占用 2 位, b占 用 8 位, c占用 6 位。 (2)結(jié)構(gòu)體內(nèi)部的成員的對(duì)齊 在計(jì)算結(jié)構(gòu)體長(zhǎng)度(尤其是用 sizeof)時(shí),需要注意! 根據(jù)不同的編譯器和處理器,結(jié)構(gòu)體內(nèi)部的成員有不同的對(duì)齊方式,這 會(huì)引起結(jié)構(gòu)體長(zhǎng)度的不確定性。 例 17: include struct a{ char a1。 char a2。 char a3。 }A。 struct b{ short a2。 char a1。 }B。 void main(void) { printf(“%d,%d,%d,%d”, sizeof(char), sizeof(short), sizeof(A), sizeof(B))。 } 在 Turbo C 1,2,3,3 在 1,2,3,4 第四章 結(jié)構(gòu)、聯(lián)合和枚舉 第四章 結(jié)構(gòu)、聯(lián)合和枚舉 字節(jié)對(duì)齊的細(xì)節(jié)和編譯器實(shí)現(xiàn)相關(guān),但一般而言,滿足三個(gè)準(zhǔn)則: 1) 結(jié)構(gòu)體變量的首地址能夠被其最寬基本類型成員的大小所整除; 2) 結(jié)構(gòu)體每個(gè)成員相對(duì)于結(jié)構(gòu)首地址的偏移量( offset)都是成員大小的整數(shù)倍, 如有需要編譯器會(huì)在成員之間加上填充字節(jié)( internal adding); 3) 結(jié)構(gòu)體的總大小為結(jié)構(gòu)體最寬基本類型成員大小的整數(shù)倍,如有需要編譯器會(huì)在最末一個(gè)成員之后加上填充字節(jié)( trailing padding)。 對(duì)于上面的準(zhǔn)則,有幾點(diǎn)需要說明: 1)結(jié)構(gòu)體某個(gè)成員相對(duì)于結(jié)構(gòu)體首地址的偏移量可以通過宏 offsetof()來獲得,這個(gè)宏也在 ,如下: define offsetof(s,m) (size_t)amp。(((s *)0)m) 2) 基本類型是指前面提到的像 char、 short、 int、 float、 double這樣的內(nèi)置數(shù)據(jù)類型,這里所說的“數(shù)據(jù)寬度”就是指其 sizeof的大小。由于結(jié)構(gòu)體的成員可以是復(fù)合類型,比如另外一個(gè)結(jié)構(gòu)體,所以在尋找最寬基本類型成員時(shí),應(yīng)當(dāng)包括復(fù)合類型成員的子成員,而不是把復(fù)合成員看成是一個(gè)整體。但在確定復(fù)合類型成員的偏移位置時(shí)則是將復(fù)合類型作為整體看待。 第四章 結(jié)構(gòu)、聯(lián)合和枚舉 聯(lián)合體 在一個(gè)結(jié)構(gòu)(變量)里,結(jié)構(gòu)的各成員順序排列存儲(chǔ),每個(gè)成員都有自 己獨(dú)立的存儲(chǔ)位置。聯(lián)合變量的所有成員共享從同一片存儲(chǔ)區(qū)。因此一個(gè)聯(lián) 合變量在每個(gè)時(shí)刻里只能保存它的某一個(gè)成員的值。 (1)聯(lián)合變量的初始化 聯(lián)合變量也在可以定義時(shí)直接進(jìn)行初始化,但這個(gè)初始化只能對(duì)第一個(gè)成員 做。例如下面的描述定義了一個(gè)聯(lián)合變量,并進(jìn)行了初始化: 例 18: union data { c
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1