const char *:修饰值
char const *:修饰值
char * const:修饰指针
char const * const:同时修饰值和指针
const
在*
后面则修饰指针
实验
const char *
const char * p;
// *p = 'c'; 报错
char k = 'k';
p = &k;
可以察觉,const指定了不可以修改值,但可以又该指针地址。
char const *
char const * p;
// *p = 'c'; 报错
char k = 'k';
p = &k;
说明,const修饰的值。
char * const
char * const p;
*p = 'c';
char k = 'k';
// p = &k; 报错
const修饰的是指针,也即是说修饰的是p的本身。
char const * const
char const * const p;
*p = 'c';
char k = 'k';
p = &k;