理解指针的定义
没想到我大四了有时候还弄不懂指针。。。
0 前言
众所周知,指针的定义如下: int* p
,这里*
的空格位置,怎么写是无所谓的。
注意,对指针的定义的理解:
0. 指针 = 地址, 我们常说的指针其实是指针变量
- 首先看见*,应当认为这是一个指针类型。
- 前面的类型是指针所指向地址的类型。 通过指针指向地址+类型长度,就能获取那块地址代表的值。(一种间接访问)
1 const 与指针
const 修饰的变量即为常量 (只读)
所以请看下面的几个问题:
1.1 const char* g_str = "123456";
g_str是指针,指向的类型是 const char
类型。所以这里其实指针是可以修改的,但是指针指向的内容(即123456
)是不可改的。
要想指针不可改,要写成
const char* const g_str = "123456"
1.2 const char g_str[] = "123456";
数组g_str, 每个数组元素是const char
类型,同样表示内容不可以改.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步