简单几招教会你const *p 与 * const p
1、const * p 指向常量的指针
比如char const * p,在这里解释为p指向一个类型的char的常量,p所指向的常量不可改变。
代码:
char a = 'A';
char const * p = &a;
此时, *p = 'B';操作会编译报错,
但是, 通过a = 'B'仍然可以改变p所指向的常量。
2、* const p 指针常量
比如 char * const p,这里理解为p为一个指针常量,指向地址不可变。
比如 char * const p = &a; 此时 p = &b操作编译报错,提示不可以更改p的地址指向。但是你可以有 *p = 'B';操作改变地址内保存的常量值。
3、int *a[10]
这里理解为定义了指针数组,共10个元素,每个元素为int * 指针。
比如:
int *a[10];
a[0] = &1;

4、int (*a)[10]
这里可以理解为a为数组指针,指向int [10]的一个数组。
比如:
int (*a)[10];
a[0] = 1;
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。