常量指針和指針常量的區別在于指針和常量的關系不同。
常量指針是一個指向常量的指針,即指針所指向的值是不可修改的,但可以通過指針修改其他可修改的值。使用關鍵字const
來聲明常量指針。
const int* ptr; // 常量指針,指向的值是不可修改的
int num = 10;
ptr = # // 通過指針可以修改其他可修改的值
*num = 20; // 錯誤,不能修改指針指向的值
指針常量是一個指針,它的值是不可修改的,但可以通過指針修改所指向的值。使用關鍵字const
來聲明指針常量。
int* const ptr; // 指針常量,指針的值是不可修改的
int num = 10;
ptr = # // 錯誤,不能修改指針的值
*num = 20; // 可以通過指針修改值
綜上所述,常量指針是指向常量的指針,指針的值可以修改但所指向的值不可修改;而指針常量是一個指針,指針的值不可修改但所指向的值可以修改。