指针常量和常量指针的区别?
指针常量和常量指针是不同的概念。
指针常量是指一个指针变量,它的值(即指向的地址)是不可修改的,但它所指向的内存区域的值是可以修改的。例如:
int a = 10;
const int* p = &a; // 指针常量,p的值不可修改,但*p的值可以修改
*p = 20; // 错误,*p的值不可修改
p = &b; // 正确,p的值可以修改
常量指针是指一个指针变量,它的值(即指向的地址)是可以修改的,但它所指向的内存区域的值是不可修改的。例如:
int a = 10;
int* const p = &a; // 常量指针,p的值可以修改,但*p的值不可修改
*p = 20; // 正确,*p的值可以修改
p = &b; // 错误,p的值不可修改
综上所述,指针常量和常量指针的区别在于它们所指向的内存区域的值是否可以修改。
原文地址: https://www.cveoy.top/t/topic/bbHC 著作权归作者所有。请勿转载和采集!