在C语言中,将指针标记为const表示指针指向的内存地址不能被修改,但是指针指向的内容仍然可以被修改。这意味着,如果指针已标记为const,您不能更改指针的值,但仍然可以更改指针指向的内容。
例如,以下代码将指针标记为const,但仍然可以更改指针指向的内容:
#include<stdio.h>
int main() {
int a = 10;
const int *ptr = &a;
*((int*)ptr) = 20;
printf("a = %d\n", a);
return 0;
}
在这个例子中,我们将指针ptr标记为const,但仍然可以通过将其强制转换为int *来更改指针指向的内容。因此,输出结果将是20,而不是10。
总之,将指针标记为const只会限制指针的值,而不会限制指针指向的内容。
领取专属 10元无门槛券
手把手带您无忧上云