面试题答案
一键面试#include <stdio.h>
int main() {
int num = 10;
int *ptr = # // 定义指向num的指针ptr,并初始化为num的地址
*ptr = 20; // 通过指针修改num的值为20
printf("num的值为: %d\n", num); // 输出num的值
return 0;
}
在这个过程中,指针ptr
是一个指向int
类型变量num
的地址的变量。指针ptr
的数据类型为int *
,表明它指向的是一个int
类型的数据。通过&
运算符获取num
的地址并赋值给ptr
,此时ptr
就指向了num
。而通过*ptr
这种解引用操作,可以访问ptr
所指向的内存空间,也就是num
,从而可以对其值进行修改。所以通过*ptr = 20;
语句修改了num
的值,后续输出num
时,得到的值就是修改后的20。