指针
指针(point)属于复合类型,用来指向另外一种类型;
- 可实现对其他对象的间接访问;
- 指针本身就是一个对象,允许对其赋值和拷贝;
- 并且无须在定义指针时进行赋初值,此时将会拥有一个不确定的值;
指针和 const
示例 int age = 26; | 详情 | 记 “外值内址” |
---|---|---|
const int * pi = &age; | 指向常量的指针,即 *pi 的值(26)不能改变。 但指针 pi 的值可以修改来指向其他变量 | 外部 const 限制了常量对象(指向的值) |
int * const pi = &age; | 一个常量指针,即指针 pi 本身不可以修改,指向固定。 但不影响改变它指向的值 | 内部 const 限制了常量指针(指向地址) |
const int * const pii = &age; | 一个常量指针来指向常量对象。 指向的值、指向的位置都不能修改 | 内外兼施,不动如山 |
- 禁止 非const 指针指向 const 变量;(此时可能通过指针修改原变量的值,不允许)
总之,指针身份卑微,只是一个间接工具,而变量的定义才更高一筹。使用时要注意!!!
建议 定义指针时就要初始化它的值。