- 结论
- char const *c 和 const char *c等价,都表示c指向的数值是固定的,无法被改变。可以这样记忆:*c表示取值,const表示值不变
- char *const c表示指针c的存放的地址不可被修改,可以这样记忆:const c表示c不能被修改,*const c则表示一直取该不能被修改的指针值
2023-07-05
补充:
const * 和 * const 是两种不同的指针类型修饰符。
const * 表示指向常量的指针。这意味着指针本身是可变的,可以指向不同的地址,但是不能通过指针来修改所指向的值。例如:const int *ptr 表示 ptr 是一个指向 int 类型常量的指针。
* const 表示指针常量。这意味着指针本身是不可变的,一旦指向了某个地址,就不能再指向其他地址,但是可以通过指针来修改所指向的值。例如:int *const ptr 表示 ptr 是一个指向 int 类型的指针常量。
综上所述,const * 是指向常量的指针,而 * const 是指针常量。
参考