MST

星途 面试题库

面试题:C语言结构体与联合体的基础协同使用

请编写一段C语言代码,定义一个结构体,结构体中包含一个联合体成员。联合体有两个成员,一个是整数类型,一个是字符数组类型。然后在主函数中初始化结构体,并分别通过联合体的两种成员形式来访问和输出数据。
39.5万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

// 定义联合体
union MyUnion {
    int num;
    char str[4];
};

// 定义结构体
struct MyStruct {
    union MyUnion data;
};

int main() {
    struct MyStruct s;

    // 通过整数成员初始化联合体
    s.data.num = 1234;
    printf("通过整数成员访问: %d\n", s.data.num);

    // 通过字符数组成员初始化联合体
    s.data.str[0] = 'A';
    s.data.str[1] = 'B';
    s.data.str[2] = 'C';
    s.data.str[3] = '\0';
    printf("通过字符数组成员访问: %s\n", s.data.str);

    return 0;
}