当前位置:网站首页>const修饰的指针变量(详解)
const修饰的指针变量(详解)
2022-08-10 14:48:00 【Wink向】
const修饰的指针变量
一、未被const修饰的指针变量
指针变量可以被修改
例1:
#include <stdio.h>
int main()
{
//未被const修饰的指针变量
int a = 10;
int b = 20;
int* p = &a;
*p = 20;//可修改
p = &b;//可修改
retrun 0;
}
二、const修饰的指针指向内容
指针 “指向的内容” 不可修改
例2:
#include <stdio.h>
int main()
{
// const如果放在*的左边
int a = 10;
int b = 20;
const int* p = &a;//const与最近的*结合,修饰的是指针 “指向的内容(即&a的值)” ,保证(&a的值)不能通过指针(*p)来改变
*p = 100;//原本的*p=10不能被修改,所以这里的*p=100是错误的,
p = &b;//但是指针变量本身的内容(原本&a)可以修改
return 0;
}
三、const修饰的指针变量本身
指针 “变量本身的内容” 不可修改
例3:
#include <stdio.h>
int main()
{
// const如果放在*的右边,
int a = 10;
int b = 20;
int* const p = &a;//const与最近的p结合,修饰的是指针变量本身(即p),保证指针 “变量的内容(&a)” 不能被修改
p = &b;//原本的p=&a不能被修改,所以这里的p=&b是错误的!
*p = 100;//但指针 “指向的内容” (即&a的值),可以修改
}
边栏推荐
猜你喜欢
随机推荐
关于async\await 的理解和思考
redhat替换yum源时redhat.repo无法删除或无法禁用的问题解决方法
阿里五位MySQL封神大佬耗17个月总结出53章性能优化法则
字节终面:CPU 是如何读写内存的?
领域驱动模型设计与微服务架构落地-从项目去剖析领域驱动
高薪程序员&面试题精讲系列135之你对分布式是怎么理解的?CAP理论你知道吗?
systemui shield notification bar
systemui屏蔽通知栏
消息称原美图高管加盟蔚来手机 顶配产品或超7000元
Flask框架——MongoEngine使用MongoDB数据库
SWIG教程《四》-go语言的封装
WSL 提示音关闭
Epoll learn to think: a high performance server processing framework
宝塔面板开放Redis给指定外网机器
How to code like a pro in 2022 and avoid If-Else
物资采购小程序开发制作功能介绍
软件测试用例篇
How to code like a pro in 2022 and avoid If-Else
PCL 最小二乘拟合空间曲线
pm2之静态文件服务