c語言指針的基礎(chǔ)知識_第1頁
c語言指針的基礎(chǔ)知識_第2頁
c語言指針的基礎(chǔ)知識_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

c語言指針的基礎(chǔ)知識知識點詳細說明指針基本概念-指針是存儲內(nèi)存地址的變量,用于間接訪問內(nèi)存中的數(shù)據(jù)-指針變量存儲的是內(nèi)存地址,而不是數(shù)據(jù)本身指針聲明-語法:數(shù)據(jù)類型*指針變量名;-例如:int*p;

聲明了一個指向整型的指針變量p指針初始化-可以將變量的地址賦值給指針-例如:inta=10;int*p=&a;

此時p指向a的地址指針解引用-使用*運算符可以獲取指針指向的數(shù)據(jù)-例如:intb=*p;

此時b的值是a的值指針運算-指針可以進行加減運算,但必須是同類型的指針-例如:p++

p--

會使指針指向下一個或上一個同類型數(shù)據(jù)的地址-指針加減整數(shù)時,整數(shù)代表偏移的字節(jié)數(shù),例如:p+1

會使指針指向下一個整型的地址指針與數(shù)組-數(shù)組名代表數(shù)組首元素的地址,因此可以作為指針使用-例如:intarr[10];

則arr、&arr[0]、*(arr+1)都表示數(shù)組第一個元素的地址指針與函數(shù)-函數(shù)參數(shù)可以是指針,用于傳遞數(shù)組或結(jié)構(gòu)體等復(fù)雜數(shù)據(jù)類型-返回值也可以是指針,用于返回動態(tài)分配的內(nèi)存地址或數(shù)組等野指針-未初始化或已釋放的指針稱為野指針,訪問野指針會導(dǎo)致程序崩潰或不可預(yù)測的行為-避免野指針的方法:初始化指針為NULL,釋放指針后將指針置為NULL空指針-空指針是指向NULL(即0)的指針,表示指針不指向任何有效的內(nèi)存地址-使用空指針可以避免野指針帶來的風(fēng)險多級指針-指向指針的指針稱為多級指針,例如:int**pp;

表示pp是一個指向整型指針的指針-多級指針常用于處理二維數(shù)組、鏈表等數(shù)據(jù)結(jié)構(gòu)注意事項-不要對空指針進行解引用操作-避免指針越界訪問內(nèi)存-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論