面试题答案
一键面试#include <stdio.h>
// 函数定义,接收指向整数的指针常量
void modifyValue(int * const ptr) {
// 修改指针所指向的值
*ptr = 42;
}
int main() {
int num = 10;
int * const ptr = #
modifyValue(ptr);
printf("修改后的值: %d\n", num);
return 0;
}
这样做是合法的。原因是指针常量意味着指针本身的值(即所指向的内存地址)不能被修改,但指针所指向的内存中的值是可以修改的。在C语言中,int * const ptr
声明了一个指针常量 ptr
,它必须在声明时初始化,且之后不能再指向其他地址,但通过 *ptr
对其所指向的值进行修改是允许的。