常量指针和指针常量

常量指针

const在基本类型前面,特点是不能修改指针指向的值,但可以让指针指向另一个变量,例如:

int a=2;
int b=3;
const int * c = &b;
//*c=4;
c=&a;

被注释掉的语句就是错误的。

要注意的是,这里的不能修改值,指的是不能通过指针修改值,但可以直接修改被指向的变量,例如:

int b=3;
const int * c = &b;
b=4;
cout<<*c<

此时输出的值为4.

指针常量

const位于指针名字前,特点和常量指针相反,可以修改被指向的值,但不能指向另一个值,例如:

int a=2;
int b=3;
int * const c = &b;
*c=4;
//c=&a;

记忆方法

const紧贴着谁,谁就不能变,const紧贴着变量类型,那就是变量本身不能变,const紧贴着指针名字,那就是指针本事,即指针指向的地址没法变。

你可能感兴趣的:(c++,c++)