解释变量p和q的声明方式之间的区别。描述何时使用一个声明以及何时使用另一个声明。
int x = 5;
const int *p = &x;
int * const q = &x;
答案 0 :(得分:2)
int x = 5;
const int *p = &x;
这会将x
的地址分配给指向const int p
的指针。这意味着p
指向的是const,不能通过取消引用p
来写入。
int * const q = &x;
这将x
的地址分配给 const指针指向int q
。这意味着,指针是const,之后不能更改,但您可以通过取消引用x
来改变p
。