常量指针应该被解除引用吗?

dan*_*nny 2 c const constants

在以下代码中:

int a=5,b=6,c=7;;
int *const ptr = &a;

//if ptr = &b; is wrong since it is a pointer constant.
Run Code Online (Sandbox Code Playgroud)

引用指针是否适用?

*ptr = 8; //is it allowed?
Run Code Online (Sandbox Code Playgroud)

如果没有,那么为什么呢?

那么在哪些地方适用?

Alo*_*ave 7

int *const ptr = &a;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,指针是常量,但它指向的数据不是常量.
因此,您无法使指针指向其他变量,但您可以修改指向的值.

*ptr = 8; 
Run Code Online (Sandbox Code Playgroud)

是允许的,因为它只会更改存储在指针所指向的地址的值.