c語言從入門到精通第11章

c語言從入門到精通第11章

ID:39963258

大?。?90.31 KB

頁數(shù):41頁

時(shí)間:2019-07-16

c語言從入門到精通第11章_第1頁
c語言從入門到精通第11章_第2頁
c語言從入門到精通第11章_第3頁
c語言從入門到精通第11章_第4頁
c語言從入門到精通第11章_第5頁
資源描述:

《c語言從入門到精通第11章》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第11章內(nèi)存的快捷方式——指針指針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)第11章內(nèi)存的快捷方式——指針指針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)第11章內(nèi)存的快捷方式——指針指針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)第11章內(nèi)存的快捷方式——指針指針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)第11章內(nèi)存的快捷方式——指針指針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)第11章內(nèi)存的快捷方式——指針指

2、針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)第11章內(nèi)存的快捷方式——指針指針概述指針變量指針與函數(shù)void指針類型綜合應(yīng)用——?jiǎng)?chuàng)建簡單鏈表跟我上機(jī)11.1指針概述11.1.1內(nèi)存地址11.1.2內(nèi)存和指針11.1.1內(nèi)存地址在計(jì)算機(jī)程序中使用的所有數(shù)據(jù),都必須存儲(chǔ)在計(jì)算機(jī)的存儲(chǔ)單元中,并且應(yīng)能從計(jì)算機(jī)的存儲(chǔ)單元中取出。每個(gè)存儲(chǔ)單位都有唯一的地址,這就好比街道上每家每戶都會(huì)有自己的門牌號(hào)碼一樣,如下圖所示,內(nèi)存中從地址1234到地址1237中,存儲(chǔ)了一個(gè)整型數(shù)值12,而內(nèi)存中地址1238中,存儲(chǔ)了一個(gè)字符“A”。11.

3、1.1內(nèi)存地址計(jì)算機(jī)內(nèi)存被劃分成按順序編號(hào)的內(nèi)存單元,這就是地址。如果在程序中定義了一個(gè)變量,在對(duì)程序進(jìn)行編譯時(shí),系統(tǒng)就會(huì)給這個(gè)變量分配內(nèi)存單元。變量是內(nèi)存中某一塊存儲(chǔ)區(qū)域的名稱,對(duì)變量賦值就相當(dāng)于把值存儲(chǔ)到該存儲(chǔ)區(qū)域中,看下面的表達(dá)式:4字節(jié)1234—1237內(nèi)存中開辟空間存儲(chǔ)數(shù)據(jù)到內(nèi)存inttotal=12;11.1.1內(nèi)存地址不同的計(jì)算機(jī)使用不同的復(fù)雜的方式對(duì)內(nèi)存進(jìn)行編號(hào),通常程序員不需要了解給定的變量具體地址,編譯器會(huì)處理細(xì)節(jié)問題,在C語言中,你只需要使用操作運(yùn)算符&,它就會(huì)返回一個(gè)對(duì)象在內(nèi)存中的地址,如&total,這個(gè)返回的地址指的是

4、該存儲(chǔ)區(qū)域的起始地址,對(duì)變量total來說,就是1234。分析下面代碼的結(jié)果。inti=12;printf("i的值等于%d,i的地址是",i,&i);輸出結(jié)果如下:i的值等于12,i的地址是1245052運(yùn)行的結(jié)果很清晰的顯示出變量i的地址,獲得變量i的地址是通過取地址運(yùn)算符&。11.1.2內(nèi)存和指針變量的內(nèi)存地址就是變量的指針。上一小節(jié)中變量total的地址1234就是變量i的指針。如果有一個(gè)變量專門用來存放另一變量的指針,則它稱為指針變量。下圖所示的p就是一個(gè)指針變量。變量p中存放的是變量i的指針(地址),變量p就是指向i的指針變量。這

5、是變量p的存儲(chǔ)單元該單元地址是2600存儲(chǔ)的數(shù)據(jù)是1234這是變量i的存儲(chǔ)單元該單元地址是1234存儲(chǔ)的數(shù)據(jù)是1211.1.2內(nèi)存和指針定義指針變量的一般形式如下所示:指向數(shù)據(jù)類型*指針變量名;inti;/*聲明變量i*/int*p1;/*聲明指向整型變量的指針p1*/charc;/*聲明變量c*/char*p2;/*聲明指向字符型變量的指針p2*/p1=&i;/*指針賦值*/p2=&c;/*指針賦值*/變量p2變量p2地址是&p2存儲(chǔ)數(shù)據(jù)&c變量c變量p1變量p1地址是&p1存儲(chǔ)數(shù)據(jù)&i變量i11.1.2內(nèi)存和指針在定義指針變量時(shí)需要注意以下三

6、點(diǎn):⑴如果有int*p,指針變量名是p,而不是*p,*p是表達(dá)式。⑵在定義指針變量時(shí)必須明確其指向的數(shù)據(jù)類型。以下是正確的賦值inti;charc;int*p;p=&i;以下是錯(cuò)誤的賦值inti;charc;int*p;p=&c;⑶指針變量中只能存放指針(地址),不要將一個(gè)非零數(shù)(或任何其他非地址類型的數(shù)據(jù))賦給一個(gè)指針變量。int*p=2;/*錯(cuò)誤的賦值*/int*p=0;/*正確的賦值,表示指針指向空*/11.2指針變量11.2.1初識(shí)指針變量11.2.2使用指針變量11.2.3指針的運(yùn)算11.2.1初識(shí)指針變量指針變量也是變量,假如該指針變

7、量名叫p,變量p的用途比較特殊,它很無私,它代表的存儲(chǔ)單元中存儲(chǔ)的是另外一個(gè)變量的地址,假如該變量名叫a,可以理解為這個(gè)指針變量p指向變量a。當(dāng)然可以直接訪問a從而獲得a的數(shù)據(jù),也可以間接地通過訪問p從而獲得a的數(shù)據(jù)。比如有下面的代碼。inti=1;int*p=&i;*p=*p+1;printf(“i=%d,*p=%d”,i,*p);輸出結(jié)果:i=2,*p=2代碼中p=&i,表示指針變量p指向變量i,使用&取地址運(yùn)算符進(jìn)行關(guān)聯(lián)的;代碼*p=*p+1表示改變指針變量p指向的變量的值,使用的*指針運(yùn)算符間接訪問變量i。11.2.1初識(shí)指針變量【范例1

8、1-1】初始指針變量01#include/*包含標(biāo)準(zhǔn)輸入輸出頭文件*/02intmain(void)03{04inti

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。