||
1 常量指针!如 int b, c; int * const a = &b; 表示a是一个常量指针它指向变量b的内存。但是因为是常量指针所以不能再用a指向其他变量,
如 a = &c; 错误!可以修改指向内存的值,如:*a = 20; BTW 常量指针声明的时候必须向我那样赋初值。
2 指向常量的指针!如 int b, c; int const *a; a = &b; a = &c; 都可以,唯独它指向的内存不能被修改。如:*a=20;这是违法的!错误!
const int *a = &b 与 int const *a,也是指向常量的指针.
3 const int* const a = &b,指向常量的常指针.
判断常量指针和指向常量的指针看const出现在*的左边还是右边,如果const出现在*的左边,指向常量的指针,出现在右边,常量指针(指针自身是常量).const在星前物后针.
左边,右边可能会记反,可以用这个规则辅助记忆.const前面就是其类型,第一种,const就是针对int的指针,第二种,const就是针对指向的int值.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 12:23
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社