简单几招教会你const *p 与 * const p

2025-11-15 00:35:46

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;

简单几招教会你const *p 与 * const p

4、int (*a)[10]

这里可以理解为a为数组指针,指向int [10]的一个数组。

比如:

int (*a)[10];

a[0] = 1;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:135
  • 阅读量:120
  • 阅读量:30
  • 阅读量:188
  • 阅读量:183
  • 猜你喜欢