具体结合代码来看,环境——VS 2022.
#include<stdio.h> int main() { int a = 10; int b = 20;
//(const)常量指针 const int * x = a; *x = b;(错误示范) x = &b; //此时(*x)这个指针变量指向的内容(*X)不可变,但指针变量本身是可变的
//指针(const)常量 int* const y = a; *y = b; y = &b;(错误示范) //这种情况下该指针变量指向的内容(*y)可变,但指针变量本身是不可变的 return 0; }
助记小提示:
这里可以把单词 const 译为常量,比如const int (* x )看成 常量指针 :指针变量指向的内容(* x)是不可修改的,指针变量本身(x)是可以修改的;
同理,指针常量 int * (const y ) ,指针常量y本身不可修改,而指针变量指向的内容(*y)是可以修改的。