【快速学】指针是什么?指针常量、常量指针是什么?(C++)
0、先上总结
- 指针是什么?指针是个数据类型。你可以定义一个指针变量,它里面存储的是个地址
- 如
int a=3;
,定义了一个int
类型的变量a,值为3
,它在内存中的地址为&a
- 同理,
int *b=3;
,定义了一个int*
类型的变量b,值为3
,它在内存中的地址为&b
- 进一步,
int *c=&a;
,定义了一个int*
类型的变量c,值为&a
,它在内存中的地址为&c
- 指针占多大内存空间?
- 指针变量占用的内存空间大小根据所使用的操作系统及编译环境而定
- 一般而言,计算机是几位,则指针大小就是几位,如我用的是64位,则指针就占64位(8字节)空间
- 如
- 指针常量是个常量,该常量的值是一个指针类型的值!它不能被修改
- 它可以指向一个变量,此时可以通过它修改变量的值
- 它可以指向一个常量,此时不可以通过它修改变量的值
- 常量指针是个指针。它指向一个常量,不能通过它求出修改那个常量。(指针是变量,它是个指针,故它的值可以被修改)!
- 它可以指向一个变量,此时不可以通过它修改变量的值
- 但可通过变量本身修改变量的值
- 它可以指向一个常量,此时不可以通过它修改变量的值
- 它可以指向一个变量,此时不可以通过它修改变量的值
1、指针常量
指针常量声明格式(做题时看到*放在const的前面即可判定)
int a;
//指针常量声明格式
int *const p = &a; //*放在const的前面(左侧)
//记忆:看“指针常量”这四个字,指针在常量前面,故*放在const的前面
int arr[10];//数组名arr就是一个指针常量
指针常量是一个指针类型的常量,上面的p是一个指向int类型的指针,p不可以被赋值、修改(因为它是常量)
数组名就是一个指针常量
2、常量指针
常量指针声明格式(做题时看到const放在*的前面即可判定)
int a;
//指针常量声明格式
const int * p = &a; //const放在*的前面(左侧)
//记忆:看“常量指针”这四个字,常量在指针前面,故const放在*的前面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效