關(guān)于const與指針類型
? //定義常量count
? ? const int count = 3;
? ? const int *p = ?&count;
在第一道練習(xí)中不是說指針指向const修飾的變量時是這樣嗎 const int const *p=&a,可是為什么在做上面練習(xí)時,我寫成const int const*p=&count 它說有重復(fù)呢,改成上面那樣就是對的
? //定義常量count
? ? const int count = 3;
? ? const int *p = ?&count;
在第一道練習(xí)中不是說指針指向const修飾的變量時是這樣嗎 const int const *p=&a,可是為什么在做上面練習(xí)時,我寫成const int const*p=&count 它說有重復(fù)呢,改成上面那樣就是對的
2016-04-14
舉報
2016-06-18
第一道練習(xí)中的寫法是 const int* const p = &a; 注意第二個const的位置在 * 之后,修飾的是指針p本身,意思是一個指向常量的常量指針。而寫成const int const *p=&a 是錯誤的,因為 * 之前的都是修飾指針指向的對象,相當于 const const int *p,這樣就重復(fù)了。而在這一道練習(xí)題中,p指向的對象是常量,所以 * 之前要加const,但是指針 p 本身可以是常量,也可以是變量,所以 * 之后可以不用加const。
2016-04-14
const int *p; int const *p;兩者是一樣的,表示*p是常量
int * const p;也是可以的,表示p是常量
顯然你的表達方式是不正確的。