A.
比較三種宣告之間的差異
int
p1;
|
p1
為一個整數變數,變數內容為一個整數
|
int
*p2;
|
p2
為一個指標變數,變數內容為一個指標,指向一個儲存整數的空間
|
int
**p3;
|
p3
為一個指標變數,變數內容為一個指標,指向另一個儲存指標的空間。另一個指標指向儲存整數的空間。
|
int
*p4( );
|
p4
為一個函數指標,指向一個函數
|
B. 比較六種宣告之間的差異
char
p1;
|
p1
為一個字元型態的變數,變數內容為一個字元
|
char
*p2;
|
p2
為一個指標變數,指標指向一個儲存字元的空間
|
char
**p3;
|
p3
為一個指標變數,變數內容為一個指標,指向另一個儲存指標的空間。另一個指標指向儲存字元的空間
|
(char
*)p4[20];
|
p4
是一個陣列儲存 20 個字元型態的指標
|
char
(*p5)[20];
|
p5
是一個指標變數,指向一個
20 個字元大小的空間
|
char
(*p6)[20][40];
|
p6
是一個指標變數,指向一個
20*40 字元大小的空間
|
C. 比較三種宣告之間的差異
char
const *p1;
const
char *p2;
char
* const p3;
1.
char (Type) 與 const
(Qualifier) 為等價關係,順序不影響宣告代表的意義,
所以 char const 與 const char 的意義是相同的。
2. 閱讀的的技巧:先將 Type 部分省略
const
*p1
|
p1為一個指標變數,指標變數的內容 (指標) 所指向的值不可修改
|
const
*p2
|
p2
為一個指標變數,指標變數的內容 (指標) 所指向的值不可修改
|
*
const p3
|
p3
為一個指標變數,指標變數的內容 (指標) 不可修改
|
沒有留言:
張貼留言