- 相關(guān)推薦
C語(yǔ)言指針相關(guān)知識
導語(yǔ):C語(yǔ)言是一門(mén)非常專(zhuān)業(yè)的課程,下面是其中一些知識,歡迎參考!

1. 指針是C語(yǔ)言中一個(gè)重要的組成部分,使用指針編程有以下優(yōu)點(diǎn):
(1)提高程序的編譯效率和執行速度。
(2)通過(guò)指針可使用主調函數和被調函數之間共享變量或數據結構,便于實(shí)現雙向數據通訊。
(3)可以實(shí)現動(dòng)態(tài)的存儲分配。
(4)便于表示各種數據結構,編寫(xiě)高質(zhì)量的程序。
2. 指針的運算
(1)取地址運算符&:求變量的地址
(2)取內容運算符*:表示指針所指的變量
(3)賦值運算
·把變量地址賦予指針變量
·同類(lèi)型指針變量相互賦值
·把數組,字符串的首地址賦予指針變量
·把函數入口地址賦予指針變量
(4)加減運算
對指向數組,字符串的指針變量可以進(jìn)行加減運算,如p+n,p-n,p++,p--等。對指向同一數組的兩個(gè)指針變量可以相減。對指向其它類(lèi)型的指針變量作加減運算是無(wú)意義的。
(5)關(guān)系運算
指向同一數組的兩個(gè)指針變量之間可以進(jìn)行大于、小于、 等于比較運算。指針可與0比較,p==0表示p為空指針。
3. 與指針有關(guān)的各種說(shuō)明和意義見(jiàn)下表。
int *p; p為指向整型量的指針變量
int *p[n]; p為指針數組,由n個(gè)指向整型量的指針元素組成。
int (*p)[n]; p為指向整型二維數組的指針變量,二維數組的列數為n
int *p() p為返回指針值的函數,該指針指向整型量
int (*p)() p為指向函數的指針,該函數返回整型量
int **p p為一個(gè)指向另一指針的指針變量,該指針指向一個(gè)整型量。
4. 有關(guān)指針的說(shuō)明很多是由指針,數組,函數說(shuō)明組合而成的。
但并不是可以任意組合,例如數組不能由函數組成,即數組元素不能是一個(gè)函數;函數也不能返回一個(gè)數組或返回另一個(gè)函數。例如
int a[5]();就是錯誤的。
5. 關(guān)于括號
在解釋組合說(shuō)明符時(shí), 標識符右邊的方括號和圓括號優(yōu)先于標識符左邊的“*”號,而方括號和圓括號以相同的優(yōu)先級從左到右結合。但可以用圓括號改變約定的結合順序。
6. 閱讀組合說(shuō)明符的規則是“從里向外”。
從標識符開(kāi)始,先看它右邊有無(wú)方括號或園括號,如有則先作出解釋?zhuān)倏醋筮呌袩o(wú)*號。 如果在任何時(shí)候遇到了閉括號,則在繼續之前必須用相同的規則處理括號內的內容。例如:
int*(*(*a)())[10]
↑ ↑↑↑↑↑↑
7 6 4 2 1 3 5
上面給出了由內向外的閱讀順序,下面來(lái)解釋它:
(1)標識符a被說(shuō)明為;
(2)一個(gè)指針變量,它指向;
(3)一個(gè)函數,它返回;
(4)一個(gè)指針,該指針指向;
(5)一個(gè)有10個(gè)元素的數組,其類(lèi)型為;
(6)指針型,它指向;
(7)int型數據。
因此a是一個(gè)函數指針變量,該函數返回的一個(gè)指針值又指向一個(gè)指針數組,該指針數組的元素指向整型量。
【C語(yǔ)言指針相關(guān)知識】相關(guān)文章:
C語(yǔ)言指針知識點(diǎn)10-10
C語(yǔ)言的指針10-11
c語(yǔ)言之指針基礎知識07-26
C語(yǔ)言指針的總結08-12
C語(yǔ)言指針教學(xué)10-28
C語(yǔ)言指針的用法07-02
什么是C語(yǔ)言中指針 C語(yǔ)言指針的基礎使用10-01
C語(yǔ)言指針的傳遞10-13