december 3, 2015 1:41 pm
指標是c語言的一大特色,讓我們可以訪問硬體,讓c變得威力無窮,然而,與之相伴的是不小的風險。
形式含義
void (*f)()
函式指標,本質是乙個指標
void* f()
函式返回指標,指標函式,本質是乙個函式
const int *
常量指標,指標本身不可變
int* const
指向const修飾內容的指標,指標本身可變
const int *const
指向const修飾的內容的常量指標
形式含義
float (**p)[10]
p是乙個二級指標,指向的是乙個一維陣列指標
float **p[10]
p是乙個指標陣列,陣列中每乙個元素都是指向指標的指標
float*((*p)[10])
p是乙個指向一維陣列的指標,陣列中每個元素的型別是float*
float(*p[10])()
p是乙個指標陣列,陣列中每乙個元素都是乙個函式指標
float*(*p)[10]
等價於float*((*p)[10])
float(*(*f)(int,int))(int)
f是乙個函式指標,指向函式型別輸入兩個int變數,返回乙個
函式指標,這個函式指標輸入乙個變數,返回乙個int。
==注意:以上型別的判斷關鍵在於優先順序的判斷,的優先順序比高,()優先順序最高。*==
int x[10] = ;
int(*y)[10] = &x;
int *z = (int*)(&x);
cout << **(y+1) << endl <<*(z+1);
輸出結果
4236901 2解釋
x是乙個陣列名,代表乙個常量指標,指向陣列的首位址;
y是乙個指標,指向一位陣列x,y+1後指向的是陣列最後乙個位址的下乙個位址;
z是乙個普通指標,z+1後,指向的是陣列首位址的下乙個位址。
golang 指標型別學習
對於指標型別不安全程式設計,通過指標值以及偏移量操作slice私有屬性 通過指標值獲取切片 func testgetprivate t testing.t sptr uintptr unsafe.pointer s 獲取當前結構體例項的指標值 t.log sptr arrptr int unsafe...
指標陣列 陣列指標 函式指標 函式指標陣列
陣列指標 指向陣列的指標,是乙個指標,其指向的型別是陣列 指標陣列 元素為指標的陣列,是乙個陣列,其中的元素為指標。例如 int a 5 這個是陣列指標。int a 5 這個是指標陣列。定義函式指標型別 int max int,int typedef int fun ptr int,int 申明變數...
指標陣列,陣列指標,指標函式,函式指標
int p 4 指標陣列。是個有4個元素的陣列,每個元素的是指向整型的指標。int p 4 陣列指標。它是乙個指標,指向有4個整型元素的陣列。int func void 指標函式。無參函式,返回整型指標。int func void 表示函式指標,可以指向無參,且返回值為整型指標的函式。右左規則 因為...