我自我感觉指针学的还可以,但是老是对那些 常量指针,指针常量些东西搞不是太明白,具体而言是搞明白了之后,过些时间久又都忘了……,恩,还是总结一下好
指针分为四个访问级别
1. 指向非常量数据的非常量指针,这种指针留给程序员的自由空间是最大的,例如 int *p;
2. 指向常量数据的非常量指针,这种指针所指向的数据是不能改变的,但是指针的内容却是可以改变的 例如 const int *p;
3. 指向非常量数据的常量指针,这种指针所指向的数据的内容是可以改变的,但是,指针的指向不能改变,在创建的时候必须对其初始化
后才能使用,例如 int a = 3; int * const aPtr = & a;
4 .指向常量数据的常量指针,这种指针几乎就不让程序员干啥,除了访问数据呵,当然既然是常量指针,也必须在创建的时候对其进行初始化
例如 int a = 3; const int * cosnt ptr = & a; 这种定义堪称铜墙铁壁。
其实总结起来也没多少东西,就是如果在定义变量的时候,在变量类型的前面加了 const (类型名) 所定义指针所指向的变量时const 类型的,如果在定义指针的时候,对指针变量名加了const 修饰,则说明所创建的指针是常指针 ,格式 : (修饰符)(类型名) *(修饰符)(类型名)
只要记着上面的那个死格式就行了,不明白了就往里面套…………