常量指针和指针常量的区别在于指针和常量的关系不同。
常量指针是一个指向常量的指针,即指针所指向的值是不可修改的,但可以通过指针修改其他可修改的值。使用关键字const
来声明常量指针。
const int* ptr; // 常量指针,指向的值是不可修改的
int num = 10;
ptr = # // 通过指针可以修改其他可修改的值
*num = 20; // 错误,不能修改指针指向的值
指针常量是一个指针,它的值是不可修改的,但可以通过指针修改所指向的值。使用关键字const
来声明指针常量。
int* const ptr; // 指针常量,指针的值是不可修改的
int num = 10;
ptr = # // 错误,不能修改指针的值
*num = 20; // 可以通过指针修改值
综上所述,常量指针是指向常量的指针,指针的值可以修改但所指向的值不可修改;而指针常量是一个指针,指针的值不可修改但所指向的值可以修改。