MST

星途 面试题库

面试题:C语言指针访问结构体成员在复杂数据结构中的应用

定义一个嵌套结构体,外层结构体struct Outer { struct Inner { int a; double b; } inner; struct Inner *innerPtr; }; 编写一个函数void modifyInner(struct Outer *outer, int newA, double newB),通过指针访问结构体成员,修改嵌套结构体中的值,并且要考虑innerPtr指针可能为空指针的情况进行安全处理。
25.4万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

// 定义嵌套结构体
struct Outer {
    struct Inner {
        int a;
        double b;
    } inner;
    struct Inner *innerPtr;
};

// 定义修改函数
void modifyInner(struct Outer *outer, int newA, double newB) {
    if (outer->innerPtr != NULL) {
        outer->innerPtr->a = newA;
        outer->innerPtr->b = newB;
    } else {
        outer->inner.a = newA;
        outer->inner.b = newB;
    }
}