MST

星途 面试题库

面试题:C语言指针与变量值类型关联的基础应用

假设有一个整型变量 `int num = 10;`,请定义一个指向该变量的指针,并通过指针修改 `num` 的值为20,然后输出 `num` 的值。同时解释指针与变量值类型在这个过程中的关联。
42.4万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

int main() {
    int num = 10;
    int *ptr = &num;  // 定义指向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。