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

时间:2026-02-19 20:32:15

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;

© 2026 小猪经验网
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com