對于指針變量前添加const關鍵字
int age = 23;
const int * pt = &age;
此時,不可以通過pt修改age的值,但是可以通過age去修改。這表明,pt的聲明并不意味著它指向的值實際上是一個常量,而只是意味著對于pt而言,這個值是一個常量。所以上述代碼是合理的。
const int age = 23;
int *pt = &age;
此時,age是個常量,但是如果賦給非常量的指針,則意味著可以通過pt去修改這個常量,顯然是不合理的。
對于指針變量前添加const關鍵字
int age = 23;
const int * pt = &age;
此時,不可以通過pt修改age的值,但是可以通過age去修改。這表明,pt的聲明并不意味著它指向的值實際上是一個常量,而只是意味著對于pt而言,這個值是一個常量。所以上述代碼是合理的。
const int age = 23;
int *pt = &age;
此時,age是個常量,但是如果賦給非常量的指針,則意味著可以通過pt去修改這個常量,顯然是不合理的。