版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、淺談淺談C中指針的運(yùn)用與常見(jiàn)問(wèn)題中指針的運(yùn)用與常見(jiàn)問(wèn)題指針是CC語(yǔ)言學(xué)習(xí)的根基,主要體現(xiàn)在其靈活的運(yùn)用方式。靈活地運(yùn)用指針,可有效表示可直接處理內(nèi)存地址、動(dòng)態(tài)分配內(nèi)存、復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、更簡(jiǎn)單有效的處理字符串和數(shù)組。因此強(qiáng)化對(duì)指針的認(rèn)識(shí)、理解和運(yùn)用是學(xué)習(xí)CC編程的重中之重。1指針的概念指針是一個(gè)相對(duì)特殊的變量,其中存儲(chǔ)的數(shù)值被解釋為內(nèi)存中的一個(gè)地址。理解指針首先要明確四個(gè)方面的內(nèi)容:指針的類型、指向的類型、指針的值和指針本身所占據(jù)的內(nèi)存區(qū)
2、。在指針的定義語(yǔ)句中把變量名(pointer)去掉,得到這個(gè)指針的類型。這各個(gè)類型是指針本身所具有的類型。例如:定義intpointer,指針的類型為int;定義int(pointer)[4],指針的類型為int()[4];指針的類型和指針?biāo)赶虻念愋褪莾蓚€(gè)不同概念。在通過(guò)指針來(lái)訪問(wèn)指針?biāo)赶虻膬?nèi)存區(qū)時(shí),指針?biāo)赶虻念愋蜎Q定了編譯器將把那片內(nèi)存區(qū)里的內(nèi)容當(dāng)做什么來(lái)看待。從語(yǔ)法上出發(fā),把指針聲明語(yǔ)句中的指針變量名和變量名左邊的指針聲明符(
3、)去掉,就是指針?biāo)赶虻念愋?。例如:定義intpointer,指針?biāo)赶虻念愋蜑閕nt;定義int(pointer)[4],指針?biāo)赶虻念愋蜑閕nt()[4];指針的值是指針本身存儲(chǔ)的數(shù)值,這個(gè)值被編譯器當(dāng)作一個(gè)地址而不是一般的數(shù)值。在32位程序里,所有類型的指針的值都是養(yǎng)成良好的習(xí)慣,定義指針變量時(shí)對(duì)其進(jìn)行初始化操作,在沒(méi)有地址空間可指向的情況下,賦值為NULL,以便后繼程序的錯(cuò)誤檢測(cè):intp1錯(cuò)誤編程習(xí)慣intp2=NULL良好編
4、程習(xí)慣指針越界。最長(zhǎng)見(jiàn)的越界錯(cuò)誤多發(fā)生于數(shù)組元素讀寫(xiě)過(guò)程,由于未檢測(cè)數(shù)組的長(zhǎng)度,會(huì)操作數(shù)組空間后的連續(xù)內(nèi)存區(qū)域,而這些區(qū)域已經(jīng)不屬于本程序的控制范圍。和前兩種指針錯(cuò)誤不同的是,指針越界錯(cuò)誤通常不會(huì)造成直接的程序終止,而是隱藏的更深,進(jìn)而對(duì)程序后期調(diào)試造成不可重現(xiàn)的錯(cuò)誤。所以,在操作數(shù)組結(jié)構(gòu)時(shí),務(wù)必注意對(duì)長(zhǎng)度的判斷,可避免此類指針越界錯(cuò)誤。3指針與引用的關(guān)系在學(xué)習(xí)C程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)算法的過(guò)程中,經(jīng)常會(huì)用到引用這個(gè)概念,而且大家也發(fā)現(xiàn)引用和
5、指針很相似。經(jīng)過(guò)教學(xué)和實(shí)踐研究發(fā)現(xiàn),引用和指針的確有很多相似之處,但兩者決不相同,而且使用引用解決實(shí)際問(wèn)題在許多方面存在優(yōu)勢(shì)。引用與指針的聲明方式不同引用是已存在的變量的別名,具體聲明方式為:數(shù)據(jù)類型&別名=變量(或?qū)ο螅┟6羔樖侵赶蛞粔K內(nèi)存地址的變量,具體聲明方式為:數(shù)據(jù)類型指針變量名。從聲明方式不難看出,聲明引用時(shí)必須將引用指向某個(gè)對(duì)象,同時(shí)這個(gè)對(duì)象的值不能為空。而定義指針時(shí)則不必初始化。也就是說(shuō)在某個(gè)時(shí)候,指針的值可能為空值,
溫馨提示
- 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語(yǔ)言中指針的教學(xué)
- 指針(pointer)——c c++的精髓
- c++“指針”學(xué)習(xí)建議
- C-C++程序中指針有效性的靜態(tài)檢測(cè).pdf
- c++程序設(shè)計(jì)指針和引用
- 淺談漢譯日中常見(jiàn)問(wèn)題
- 淺談機(jī)電設(shè)備安裝常見(jiàn)問(wèn)題與對(duì)策
- 淺談樁基施工中常見(jiàn)問(wèn)題的處理
- 淺談公路測(cè)量中常見(jiàn)問(wèn)題與解決措施
- 淺談暖通空調(diào)設(shè)計(jì)常見(jiàn)問(wèn)題
- 淺談測(cè)繪工程常見(jiàn)問(wèn)題的解決對(duì)策
- 淺談建筑項(xiàng)目現(xiàn)場(chǎng)管理的常見(jiàn)問(wèn)題
- 淺談小型船舶空調(diào)系統(tǒng)常見(jiàn)問(wèn)題
- 淺談路橋試驗(yàn)檢測(cè)中常見(jiàn)問(wèn)題與解決措施
- 淺談建筑施工中幾個(gè)常見(jiàn)問(wèn)題的分析與處理
- 淺談企業(yè)會(huì)計(jì)管理常見(jiàn)問(wèn)題與應(yīng)對(duì)措施
- 淺談地基與基礎(chǔ)工程常見(jiàn)問(wèn)題及解決措施
- 淺談建筑給排水設(shè)計(jì)中常見(jiàn)問(wèn)題
- 淺談網(wǎng)格布試驗(yàn)檢測(cè)常見(jiàn)問(wèn)題
- 淺談?lì)A(yù)應(yīng)力管樁施工常見(jiàn)問(wèn)題
評(píng)論
0/150
提交評(píng)論