欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

常量指针和指针常量

程序员文章站 2024-03-07 20:41:03
...

使用指针必须清楚,指针不是地址,是用来存放地址的,指针本身也是有地址的!

const char *p;//定义一个指向常量的指针
char *const p;//定义一个指针常量,一旦初始化之后其内容不可改变

指针常量:不能通过指针修改值

int main(){
int a = 100;
const int *p;//定义了一个指向常量的指针变量
p = &a;
*p = 10;//不可以通过指向常量的指针修改其对应的值
return 0;
}
运行报错:*p readonly

const定义常量

在C/C++中很少会用const定义常量,因为可以通过指针修改常量的值,一般都是用宏定义常量

const int b = 300;
int *p;
p =(int *)&b;//b和p类型不相同,要强转
*p = 100;

运行不会报错,b的值是100

常量指针:指针只能指向固定的地址

int  a = 100;
int * const p = &a;//定义了一个常量指针,这种指针只能指向固定的一个地址
*p = 123;
printf("%d",a);//正确输出123
======================
新加入
int a1 = 0;
p = &a1;//报错,p不能修改!