常量指针(const X*)和指针常量(X* const)

时间:2023-12-19 15:43:26

const X* 类型的指针(指向常量的指针),此指针的地址是一个变量,是可以修改的;但其所指向的内容是常量,是不可以修改的。

例如:

   1: char name[5] = "lisi";

   2: const char* pstr = name;

   3: pstr = “zhangsan”; // 修改指针的值,OK

   4: *pstr = 'z'; // 修改指针指向的内容,ERROR 

X* const 类型的指针(常量指针),此指针的地址是一个常量,是不可以修改的;但其指向的内容是变量,是可以修改的。

例如:

   1: char name[5] = "lisi";

   2: char* const pstr = name;

   3: pstr = "zhangsan"; //修改指针的值(地址),ERROR

   4: *pstr = 'z'; //修改指针指向的内容,OK