在下面的代码中:
int a=5,b=6,c=7;;
int *const ptr = &a;
//if ptr = &b; is wrong since it is a pointer constant.
取消引用指针是否适用?
*ptr = 8; //is it allowed?
如果没有,那么为什么?
那么解除引用哪些地方适用?
答案 0 :(得分:7)
int *const ptr = &a;
在这种情况下,指针是常量,但它指向的数据不是恒定的 因此,您无法使指针指向其他变量,但您可以修改指向的值。
*ptr = 8;
允许,因为它只会更改存储在指针所指向的地址的值。