cosnt修饰指针变量

const在C语言中用于定义常量,当用于修饰指针时有两种情况:1)const修饰指针所指向的内容,指针可变但不能修改指向的值;2)const修饰指针本身,指针不可变但可修改指向的内容。同时使用const修饰两者,const位置不影响含义。
摘要由CSDN通过智能技术生成

在C语言中,const关键字用于修饰变量,表示该变量的值是常量(实际上是只读变量),不可修改。当const修饰指针变量时,有两种情况:

1. const修饰指针所指向的内容:

const int *ptr;

这表示ptr是一个指向常量整数的指针,指针本身是可以修改的,但是不能通过ptr来修改所指向的整数值。例如:

int num = 10;
ptr = # // 合法,ptr指向num
*ptr = 20; // 非法,不能通过ptr修改num的值

2. const修饰指针变量本身:

int * const ptr;

这表示ptr是一个常量指针,指向的内容是可以修改的,但是指针本身是不可修改的。例如:

int num1 = 10, num2 = 20;
ptr = &num1; // 非法,不能修改ptr的值
*ptr = 30; // 合法,可以通过ptr修改num1的值

需要注意的是,如果同时使用const修饰指针变量和指针所指向的内容,可以将const关键字放在*号的前面或后面,效果是一样的:

const int *const ptr;

或者

int const * const ptr;

这两种写法都表示ptr是一个指向常量整数的常量指针,既不能修改指针本身的值,也不能通过指针修改所指向的整数值。

总结:看符号*的位置,*在const左边,const修饰的就是指针变量本身,*在const右边,const修饰的就是指针所指向的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值