指针常量
指针常量:顾名思义它就是一个常量,但是是指针修饰的。
常量的是指针,能改指针对应地址修改的值,不能修改指针对应的地址
![](https://img.haomeiwen.com/i5796100/e13536f8b2e6f307.png)
格式为:
int * const p //指针常量
在这个例子下定义以下代码:
int main()
{
int a, b;
int *const p = &a;//指针常量
*p = 9;//操作成功
//p = &b;//操作错误
printf("*p的值为:%d\n", *p);
return 0;
}
因为声明了指针常量,说明指针变量不允许修改。如同次指针指向一个地址该地址不能被修改,但是该地址里的内容可以被修改
常量指针
常量指针:如果在定义指针变量的时候,数据类型前用const修饰,被定义的指针变量就是指向常量的指针变量,指向常量的指针变量称为常量指针,格式如下
常量的是指针地址对应的指,指针的地址可以改变,但是地址对应的值不能改
![](https://img.haomeiwen.com/i5796100/87be90beb3a75e9d.png)
const int *p = &a; //常量指针
int main()
{
int a =5 ;
int b=10;
const int *p = &a;
//*p = 9;//操作错误
p = &b;//操作成功
printf("*p的值为:%d\n",*p);
return 0;
}
因为常量指针本质是指针,并且这个指针是一个指向常量的指针,指针指向的变量的值不可通过该指针修改,但是指针指向的值可以改变。
网友评论