int * a[10] ; 定義乙個指標陣列,該陣列共有10個元素,每個元素均是乙個int型指標。
int (*a)[10] ; 定義乙個陣列指標。該指標指向乙個含有10個元素的陣列的位址。 即指向二維陣列的指標。通常如果要修改乙個二維陣列的值時,需要定義乙個陣列指標作為函式引數。或者 int a[10]作為形參。
int b[10] = ;
a = b ; 編譯時此處會出錯。
int a =10 ;
int *p = &a ;
int **pp = &p ; 定義乙個二級指標,指向了乙個一級指標的位址。
**pp = 100 ; 通過二級指標修改記憶體的值。
*pp=10 ; 相當於將p指向了編號為10的這塊記憶體,p成了野指標。
函式指標:
int (*p)(int ,int ) ; 定義乙個函式指標,函式的引數為兩個int , 返回值是 int 。
要呼叫時, p = 對應的函式名即可 。
指標陣列 陣列指標 函式指標 函式指標陣列
陣列指標 指向陣列的指標,是乙個指標,其指向的型別是陣列 指標陣列 元素為指標的陣列,是乙個陣列,其中的元素為指標。例如 int a 5 這個是陣列指標。int a 5 這個是指標陣列。定義函式指標型別 int max int,int typedef int fun ptr int,int 申明變數...
C語言 指標陣列和指標陣列 函式指標和指標函式
在c語言中最令然頭疼的莫過於指標 特別是指標和陣列符號一起出現的 傻傻搞不清楚的原因主要在於運算子的優先順序沒有搞清 指標的運算子 陣列運算子,函式運算子 陣列元算符 運算優先順序和函式運算子 或者說強制改變運算順序符號 都是位於第一優先順序的 而我們的指標運算子則是第二優先順序 所以當出現 int...
指標陣列,陣列指標,指標函式,函式指標
int p 4 指標陣列。是個有4個元素的陣列,每個元素的是指向整型的指標。int p 4 陣列指標。它是乙個指標,指向有4個整型元素的陣列。int func void 指標函式。無參函式,返回整型指標。int func void 表示函式指標,可以指向無參,且返回值為整型指標的函式。右左規則 因為...