版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、讓你不再害怕指針前言:復(fù)雜類型說(shuō)明要了解指針多多少少會(huì)出現(xiàn)一些比較復(fù)雜的類型,所以我先介紹一下如何完全理解一個(gè)復(fù)雜類型,要理解復(fù)雜類型其實(shí)很簡(jiǎn)單,一個(gè)類型里會(huì)出現(xiàn)很多運(yùn)算符,他們也像普通的表達(dá)式一樣,有優(yōu)先級(jí),其優(yōu)先級(jí)和運(yùn)算優(yōu)先級(jí)一樣,所以我總結(jié)了一下其原則:從變量名處起,根據(jù)運(yùn)算符優(yōu)先級(jí)結(jié)合,一步一步分析。下面讓我們先從簡(jiǎn)單的類型開(kāi)始慢慢分析吧:intp這是一個(gè)普通的整型變量intp首先從P處開(kāi)始先與結(jié)合所以說(shuō)明P是一個(gè)指針然后再與i
2、nt結(jié)合說(shuō)明指針?biāo)赶虻膬?nèi)容的類型為int型.所以P是一個(gè)返回整型數(shù)據(jù)的指針intp[3]首先從P處開(kāi)始先與[]結(jié)合說(shuō)明P是一個(gè)數(shù)組然后與int結(jié)合說(shuō)明數(shù)組里的元素是整型的所以P是一個(gè)由整型數(shù)據(jù)組成的數(shù)組intp[3]首先從P處開(kāi)始先與[]結(jié)合因?yàn)槠鋬?yōu)先級(jí)比高所以P是一個(gè)數(shù)組然后再與結(jié)合說(shuō)明數(shù)組里的元素是指針類型然后再與int結(jié)合說(shuō)明指針?biāo)赶虻膬?nèi)容的類型是整型的所以P是一個(gè)由返回整型數(shù)據(jù)的指針?biāo)M成的數(shù)組int(p)[3]首先從P處開(kāi)
3、始先與結(jié)合說(shuō)明P是一個(gè)指針然后再與[]結(jié)合(與“()“這步可以忽略只是為了改變優(yōu)先級(jí))說(shuō)明指針?biāo)赶虻膬?nèi)容是一個(gè)數(shù)組然后再與int結(jié)合說(shuō)明數(shù)組里的元素是整型的.所以P是一個(gè)指向由整型數(shù)據(jù)組成的數(shù)組的指針intp首先從P開(kāi)始先與結(jié)合說(shuō)是P是一個(gè)指針然后再與結(jié)合說(shuō)明指針?biāo)赶虻脑厥侵羔樔缓笤倥cint結(jié)合說(shuō)明該指針?biāo)赶虻脑厥钦蛿?shù)據(jù).由于二級(jí)指針以及更高級(jí)的指針極少用在復(fù)雜的類型中所以后面更復(fù)雜的類型我們就不考慮多級(jí)指針了最多只考慮一級(jí)
4、指針.intp(int)從P處起先與()結(jié)合說(shuō)明P是一個(gè)函數(shù)然后進(jìn)入()里分析說(shuō)明該函數(shù)有一個(gè)整型變量的參數(shù)然后再與外面的int結(jié)合說(shuō)明函數(shù)的返回值是一個(gè)整型數(shù)據(jù)int(p)(int)從P處開(kāi)始先與指針結(jié)合說(shuō)明P是一個(gè)指針然后與()結(jié)合說(shuō)明指針指向的是一個(gè)函數(shù)然后再與()里的int結(jié)合說(shuō)明函數(shù)有一個(gè)int型的參數(shù)再與最外層的int結(jié)合說(shuō)明函數(shù)的返回類型是整型所以P是一個(gè)指向有一個(gè)整型參數(shù)且返回類型為整型的函數(shù)的指針int(p(int))
5、[3]可以先跳過(guò)不看這個(gè)類型過(guò)于復(fù)雜從P開(kāi)始先與()結(jié)合說(shuō)明P是一個(gè)函數(shù)然后進(jìn)入()里面與int結(jié)合說(shuō)明函數(shù)有一個(gè)整型變量參數(shù)然后再與外面的結(jié)合說(shuō)明函數(shù)返回的是一個(gè)指針然后到最外面一層,先與[]結(jié)合說(shuō)明返回的指針指向的是一個(gè)數(shù)組然后再與結(jié)合說(shuō)明數(shù)組里的元素是指針然后再與int結(jié)合說(shuō)明指針指向的內(nèi)容是整型數(shù)據(jù).所以P是一個(gè)參數(shù)為一個(gè)整數(shù)據(jù)且返回一個(gè)指向由整型指針變量組成的數(shù)組的指針變量的函數(shù).說(shuō)到這里也就差不多了,我們的任務(wù)也就這么多,理
6、解了這幾個(gè)類型,其它的類型對(duì)我們來(lái)說(shuō)也是小菜了,不過(guò)我們一般不會(huì)用太復(fù)雜的類型,那樣會(huì)大大減小程序的可讀性,請(qǐng)慎用,這上面的幾種類型已經(jīng)足夠我們用了.1、細(xì)說(shuō)指針指針是一個(gè)特殊的變量,它里面存儲(chǔ)的數(shù)值被解釋成為內(nèi)存里的一個(gè)地址。要搞清一個(gè)指針需要搞清指針的四方面的內(nèi)容:指針的類型、指針?biāo)赶虻念愋汀⒅羔樀闹祷蛘呓兄羔標(biāo)赶虻膬?nèi)存區(qū)、指針本身所占據(jù)的內(nèi)存區(qū)。讓我們分別說(shuō)明。先聲明幾個(gè)指針?lè)胖隼樱豪唬?1)intptr(2)ptr(3
7、)intptr(4)int(ptr)[3](5)int(ptr)[4]a.指針的類型從語(yǔ)法的角度看,你只要把指針聲明語(yǔ)句里的指針名字去掉,剩下的部分就是這個(gè)指針的類型。這是指針本身所具有的類型。讓我們看看例一中各個(gè)指針的類型:(1)intptr指針的類型是int(2)ptr指針的類型是(3)intptr指針的類型是intintarray[20]=0intptr=arrayf(i=0iintmain()a[20]=“You_are_a_g
8、irl“p=aptr=printf(“p=%dn“p)printf(“ptr=%dn“ptr)printf(“ptr=%dn“ptr)printf(“ptr=%cn“ptr)ptrprintf(“ptr=%dn“ptr)printf(“ptr=%dn“ptr)printf(“ptr=%cn“ptr)誤區(qū)一、輸出答案為Y和o誤解:ptr是一個(gè)的二級(jí)指針當(dāng)執(zhí)行ptr時(shí),會(huì)使指針加一個(gè)sizeof(),所以輸出如上結(jié)果這個(gè)可能只是少部分人的結(jié)
9、果。誤區(qū)二、輸出答案為Y和a誤解:ptr指向的是一個(gè)類型當(dāng)執(zhí)行ptr時(shí),會(huì)使指針加一個(gè)sizeof()(有可能會(huì)有人認(rèn)為這個(gè)值為1,那就會(huì)得到誤區(qū)一的答案這個(gè)值應(yīng)該是4參考前面內(nèi)容)即那進(jìn)行一次取值運(yùn)算不就指向數(shù)組中的第五個(gè)元素了嗎那輸出的結(jié)果不就是數(shù)組中第五個(gè)元素了嗎答案是否定的。正解:ptr的類型是指向的類型是一個(gè)類型該指向的地址就是p的地址(時(shí)會(huì)使指針加一個(gè)sizeof(),即那(&p4)指向哪呢這個(gè)你去問(wèn)上帝吧,或者他會(huì)告訴你在
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c指針總結(jié)
- 讓學(xué)生不再害怕寫作文
- 指針的深入研究指針進(jìn)階
- 超強(qiáng)指針
- 指針程序設(shè)計(jì)實(shí)驗(yàn)總結(jié)
- 別錯(cuò)過(guò)讓你不再錯(cuò)過(guò)
- 再再論指針
- 數(shù)組與指針
- c#使用指針
- 指針的問(wèn)題討論
- 指針和數(shù)組區(qū)別
- 第6章-指針
- 如何讓你的績(jī)效管理不再孤獨(dú)
- 指針儀表盤
- c_c++指針詳解
- 關(guān)于指針函數(shù)的范例
- sdh指針調(diào)整機(jī)理
- 「彼拉提斯」讓你不再下背痛!
- 途觀儀表指針跳動(dòng)
- 10招讓你的工作不再無(wú)聊
評(píng)論
0/150
提交評(píng)論