



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯預(yù)處理和動(dòng)態(tài)存貯分配不帶參數(shù)的宏定義定義形式#define 宏名替換文本或 #define 宏名(在 define 宏名和宏替換文本之間有空格;可以用#undef 命令終止宏定義的作用域;在進(jìn)行宏定義是,可以引用已定義的宏名;同一個(gè)宏名不能重復(fù)定義。)帶參數(shù)的宏定義定義形式#define 宏名(參數(shù)表)字符串宏定義不只進(jìn)行簡(jiǎn)單的字符串替換,還可進(jìn)行參數(shù)的替換執(zhí)行過(guò)程:(如果程序中有帶實(shí)參的宏,則按#define 命令行中指定的字符串從左到右進(jìn)行置換;如果字符串中包含形參,則將程序語(yǔ)句中相應(yīng)的實(shí)參代替形參;如果宏定義中的字符串中的字符不是參數(shù)字符,則保留。這樣就形成了置換的字符串;)帶參數(shù)的
2、宏和函數(shù)的相同之處在引用函數(shù)時(shí)是在函數(shù)右面的括號(hào)寫實(shí)參;要求實(shí)參與形參數(shù)目相等。帶參數(shù)的宏和函數(shù)的不同之處函數(shù)調(diào)用是,要求實(shí)參、形參類型相匹配,但宏替換中,對(duì)參數(shù)沒有類型的要求;函數(shù)調(diào)用時(shí), 先求出實(shí)參的表達(dá)式的值,然后帶入形參, 而帶參數(shù)的宏只是進(jìn)行簡(jiǎn)單的字符串替換;函數(shù)調(diào)用是在程序進(jìn)行時(shí)處理的,要分配臨時(shí)的內(nèi)存單元,還要占用一系列的處理時(shí)間。宏替換在編譯預(yù)處理完成,因此, 宏替換不占用運(yùn)行時(shí)間,不被分配內(nèi)存單元,不進(jìn)行之的傳遞,也沒有返回值的概念;使用宏的次數(shù)較多時(shí),宏展開后源程序變長(zhǎng),而函數(shù)調(diào)用不會(huì)。第十一章結(jié)構(gòu)體和共用體11.1 用typedef說(shuō)明一種新類型名1、一般形式:typed
3、ef 類型名標(biāo)識(shí)符;其中, 類型名 一定是在此之前已有定義的類型標(biāo)識(shí)符。“標(biāo)識(shí)符”是一個(gè)用戶定義標(biāo)識(shí)符,用來(lái)標(biāo)識(shí)新的類型名。2、typedef 語(yǔ)句的作用:用“標(biāo)識(shí)符”來(lái)代表已存在的“類型名”,并沒有產(chǎn)生新的數(shù)據(jù)類型,因此,原有的類型名依然有效。3、聲明一個(gè)新的類型名的具體步驟:a、先按定義變量的方法寫出定義的主體b、將變量名換成新類型名c、在最左面加上關(guān)鍵字typedef d、然后可以用新類型名去定義其他的變量 11.2 鏈表1、鏈表定義:是一種常見的重要的數(shù)據(jù)結(jié)構(gòu),它是動(dòng)態(tài)地進(jìn)行存儲(chǔ)單元分配的一種結(jié)構(gòu)。a、鏈表中的各元素在內(nèi)存中不一定是連續(xù)存放的。要找鏈表中某一元素,必須先找到上個(gè)元素,
4、根據(jù)該元素提供的下一元素的地址才能找到下一個(gè)元素。所以, 如果沒有頭指針(head) ,則整個(gè)鏈表都無(wú)法訪問。b、這種鏈表數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實(shí)現(xiàn)。即一個(gè)節(jié)點(diǎn)中應(yīng)包含一個(gè)指針變量,用它存放下一節(jié)點(diǎn)的地址。c、鏈表最后一個(gè)節(jié)點(diǎn)的指針域不要存放地址時(shí),就置成/o值,標(biāo)志著鏈表結(jié)束,鏈表的每個(gè)結(jié)點(diǎn)只有一個(gè)指針域,每個(gè)指針域存放下一個(gè)節(jié)點(diǎn)的地址。d、每一個(gè)鏈表都用一個(gè)“頭指針”變量來(lái)指向鏈表的開始,稱之為head 指針。 在 head指針中存放了鏈表第一個(gè)節(jié)點(diǎn)的地址。2、建立單向鏈表單線鏈表中,每個(gè)結(jié)點(diǎn)應(yīng)該由兩個(gè)成員組成:整型的成員;指向自身結(jié)構(gòu)的指針類型成員。結(jié)點(diǎn)的類型結(jié)構(gòu)定義如下:str
5、uct slist int data; struct slist * next; ; typedef struct slist slist; 建立單向鏈表的主要步驟如下:a、讀取數(shù)據(jù);b、生成新結(jié)點(diǎn);c、將數(shù)據(jù)存放結(jié)點(diǎn)的成員變量中。d、將新結(jié)點(diǎn)插入到鏈表中。e、重復(fù)上述操作順序訪問鏈表各個(gè)結(jié)點(diǎn)的數(shù)據(jù)域;在單向鏈表中插入結(jié)點(diǎn)的步驟如下:a、首先要確定插入的位置;b、當(dāng)插入結(jié)點(diǎn)在指針的結(jié)點(diǎn)之前稱為“前插”;c、當(dāng)插入結(jié)點(diǎn)在指針的結(jié)點(diǎn)之后稱為“后插”;d、當(dāng)進(jìn)行“前插”操作時(shí),需要3 個(gè)工作指針(假設(shè)為s1,s2 和 s3).用 s1 來(lái)指向新開辟的結(jié)點(diǎn);用s2 指向插入的位置;s3指向 s2 的前
6、趨結(jié)點(diǎn)。刪除單向鏈表中的結(jié)點(diǎn)的步驟如下:a、首先要找的到待刪結(jié)點(diǎn)的前趨結(jié)點(diǎn)。b、然后將此前趨結(jié)點(diǎn)的指針域去指向待刪結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn)c、最后釋放被刪節(jié)的所占用的存儲(chǔ)空間即可。第十二章文件1、fopen()函數(shù)調(diào)用形式: fopen(文件名,文件使用方式);a、函數(shù)返回一個(gè)指向file 類型的指針,賦給文件指針變量fp,從而把指針fp 與文件聯(lián)系起來(lái),在此調(diào)用之后指針fp 就指向了文件;b、無(wú)論哪種使用凡是,當(dāng)打開文件時(shí)出現(xiàn)了錯(cuò)誤,fopen 函數(shù)都將返回null 。2、常用文件打開方式及其含義:a、r:為讀而打開文本文件。當(dāng)指定這種方式時(shí),對(duì)打開的文件只能進(jìn)行讀操作。若指定文件不存在,則會(huì)出錯(cuò)。另
7、外一些情況,如企圖去讀一個(gè)不允許讀的文件時(shí)也會(huì)出錯(cuò)。b、rb 為讀而打開一個(gè)二進(jìn)制文件。其余功能與r 相同。c、w:為寫而打開文本文件。這時(shí),如果指定的文件不存在,系統(tǒng)將用在fopen 調(diào)用中指定的文件名建立一個(gè)新的文件,如果指定的文件已存在,則將從文件的起始位置開始寫,文件中原有的內(nèi)容將全部消失。d、wb :為寫而打開一個(gè)二進(jìn)制文件。其余功能與w 相同,但從指定位置開始寫。e、a:為在文件后面添加數(shù)據(jù)而打開文本文件。這時(shí),如果指定的文件不存在,系統(tǒng)將用在fopen 調(diào)用中指定的文件名建立一個(gè)新的文件;如果指定的文件存在,則文件中原有的文件內(nèi)容將保存,新的數(shù)據(jù)寫在原有的內(nèi)容之后。f、ab :為
8、在文件后面添加數(shù)據(jù)而打開一個(gè)二進(jìn)制文件。其余功能與a相同g、r+:為讀和寫而打開文本文件。用這種方式時(shí),指定的文件應(yīng)當(dāng)已經(jīng)存在。既可以對(duì)文件進(jìn)行讀,也可以對(duì)其進(jìn)行寫,在讀和寫操作之間不必關(guān)閉文件。只是對(duì)于文本文件來(lái)說(shuō),讀和寫總是從文件起始位置開始。在寫新數(shù)據(jù)時(shí), 只覆蓋信數(shù)據(jù)所占據(jù)的空間,其后的數(shù)據(jù)并不丟失。h、rb+:為讀和寫而打開一個(gè)二進(jìn)制文件。功能與 r+相同。 只是在讀和寫時(shí),可以由位置函數(shù)設(shè)置讀和寫的起始位置,也就是說(shuō)不一定從文件的起始位置開始讀和寫。i、w+:首先建立一個(gè)新文件,進(jìn)行寫操作,隨后可以從頭開始讀。如果文件已存在,則原有的內(nèi)容將全部消失。j、wb+:功能與w+相同,制度化izai 隨后的讀和寫時(shí),可以有位置函數(shù)設(shè)置起始位置。k、a+:功能與 a 相同,只是在文件尾部添加新的數(shù)據(jù)后,可以從頭開始讀。l、 ab+:功能也 a+相同只是在文件尾部添加新的數(shù)據(jù)后,可以由位置函數(shù)設(shè)置開始讀的起始位置。、 、 、 、 、 、 、b 二進(jìn)制文件可設(shè)置起始位置、 、 、 、 、+ 從頭開始讀、 、 、 、2、fclose()函數(shù)調(diào)用形式fclose(文件指針)a、若對(duì)文件操作方式為讀方式,則經(jīng)以上函數(shù)調(diào)用之后,要使文件指針與文件脫離聯(lián)系。可以重新分配文件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 包山正規(guī)合同范本
- 《三、應(yīng)用設(shè)計(jì)模板》教學(xué)設(shè)計(jì) -2024-2025學(xué)年初中信息技術(shù)人教版七年級(jí)上冊(cè)
- 三層樓房施工合同范本
- Unit 8 Lesson 46 教學(xué)設(shè)計(jì) - 2024-2025學(xué)年冀教版英語(yǔ)八年級(jí)下冊(cè)
- 第2單元 單元備課說(shuō)明2024-2025學(xué)年新教材七年級(jí)語(yǔ)文上冊(cè)同步教學(xué)設(shè)計(jì)(統(tǒng)編版2024)河北專版
- 2024年楚雄州姚安縣高中教師招聘考試真題
- 企業(yè)月租酒店合同范例
- 代辦過(guò)戶合同正式合同范本
- 共享飯店合同范本
- 動(dòng)物展覽合同范本
- 湖南省普通高中畢業(yè)生登記表模板
- 人教版七年級(jí)上冊(cè)數(shù)學(xué)試卷全冊(cè)
- 中職-中國(guó)歷史教案
- 六年級(jí)小升初語(yǔ)文試卷 [六年級(jí)下冊(cè)語(yǔ)文小升初試卷
- 計(jì)量泵的維護(hù)和修理知識(shí)培訓(xùn)講義
- 危險(xiǎn)化學(xué)品從業(yè)單位安全生產(chǎn)標(biāo)準(zhǔn)化宣貫
- 幼兒園中班開學(xué)第一課
- 招商人員薪酬及提成
- 物業(yè)保潔員培訓(xùn)專業(yè)課件
- 人教版小學(xué)六年級(jí)數(shù)學(xué)下冊(cè)教材研說(shuō)
- PPT辦公使用技巧培訓(xùn)筆記(共52張)
評(píng)論
0/150
提交評(píng)論