int (*p1)(int*, int (*f)(int*));
int (*p2[5])(int*);
int (*(*p3)[5])(int*);
int* (*(*p4)(int*))(int*);
int (*(*p5)(int*))[5];
int (*p)(int);
1. (*p) ==> p 是乙個指標
2. (*p)(int) ==> p 是乙個函式指標
3. int (*p)(int) ==> p 是乙個函式指標,函式型別為 int(int)
int (*p1)(int*, int (*f)(int*))
1. (*p1) ==> p1 是乙個指標
2. (*p1)(int*, int (*f)(int*)) ==> p1 是乙個函式指標
3. int (*p1)(int*, int (*f)(int*)) ==> p1 是乙個函式指標,函式型別為 int(int*, int (*f)(int*))
int (*p2[5])(int*)
1. p2[5] ==> p2是乙個包含5個元素的陣列
2. (*p2[5]) ==> p2是乙個包含5個指標元素的指標陣列
3. (*p2[5])(int*) ==> p2是乙個包含5個函式指標元素的函式指標陣列
4. int (*p2[5])(int*) ==> p2是乙個包含5個函式指標元素的函式指標陣列,函式型別為 int(int*)
int (*(*p3)[5])(int*)
1. (*p3) ==> p3 是乙個指標
2. (*p3)[5] ==> p3 是乙個陣列指標,指向的陣列包含5個元素
3. (*(*p3)[5]) ==> p3 是乙個陣列指標,指向的陣列包含5個元素,元素型別為指標
4. (*(*p3)[5])(int*) ==> p3 是乙個陣列指標,指向的陣列包含5個元素,元素型別為函式指標
5. int (*(*p3)[5])(int*) ==> p3 是乙個陣列指標,指向的陣列包含5個元素,元素型別為函式指標,函式型別為 int(int*)
int* (*(*p4)(int*))(int*)
1. (*p4) ==> p4 是乙個指標
2. (*p4)(int*) ==> p4 是乙個函式指標
3. (*(*p4)(int*)) ==> p4 是乙個函式指標,包含乙個 int* 引數,函式返回值為指標
4. (*(*p4)(int*))(int*) ==> p4 是乙個函式指標,函式包含乙個 int* 引數,函式返回值為函式指標
5. int* (*(*p4)(int*))(int*) ==> p4 是乙個函式指標,函式包含乙個 int* 引數,函式返回值為函式指標,函式型別為 int(int*)
int (*(*p5)(int*))[5]
1. (*p5) ==> p5 是乙個指標
2. (*p5)(int*) ==> p5 是乙個函式指標
3. (*(*p5)(int*)) ==> p5 是乙個函式指標,函式包含乙個 int* 引數,返回乙個指標
5. (*(*p5)(int*))[5] ==> p5 是乙個函式指標,函式包含乙個 int* 引數,返回乙個指向5個元素的陣列指標
6. int (*(*p5)(int*))[5] ==> p5 是乙個函式指標,函式包含乙個 int* 引數,返回乙個陣列指標, 陣列型別為 int[5]
int* (*(*p4)(int*))(int*) ==>
typedef int(func1type)(int*);
typedef func1type*(func2type)(int*);
func2type p4;
int (*(*p5)(int*))[5] ==>
typedef int(arraytype)[5];
typedef arraytype* (functype)(int*);
functype* p5;
指標閱讀技巧分析
右左法則 例子1 複雜指標 include int main int p1 int,int f int p1為指標,指向函式,指向的函式有int f為第二個引數,它是乙個函式指標,指向的函式引數是int 返回值為int 返回值為intint p2 5 int p2為陣列,有5個元素,這5個元素為指標...
3 7 指標與強制型別轉換
1 所有的型別的資料儲存在記憶體中,都是按照二進位制格式儲存的。所以記憶體只知道有0和1,不知道是int的,還是float的還是其它型別。2 int,char,short等屬於整型,他們的儲存方式 數轉換成二進位制往記憶體中存放的方式 是相同的,只是記憶體格仔大小不同 所以這幾種整型就彼此叫二進位制...
C語言(九) 指標(3)指標與const
表示一旦得到了某個變數的位址,不能再指向其他變數 int i 0 int const q i q是 const q 20 ok q error表示不能通過指標去修改這個變數 int i 0 int j const int p i const int p 等同於 int const p p 20 er...