MST
星途 面试题库

面试题:C语言结构体初始化之默认值基础设置

定义一个包含整型、浮点型和字符型成员的结构体。要求在结构体初始化时,整型成员默认值为10,浮点型成员默认值为3.14,字符型成员默认值为'A'。请写出完整的结构体定义及初始化代码,并解释初始化的过程。
24.5万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

// 定义结构体
typedef struct {
    int intValue;
    float floatValue;
    char charValue;
} MyStruct;

// 初始化结构体
MyStruct initMyStruct() {
    MyStruct s = {10, 3.14f, 'A'};
    return s;
}

int main() {
    MyStruct myStruct = initMyStruct();
    printf("整型成员: %d\n", myStruct.intValue);
    printf("浮点型成员: %f\n", myStruct.floatValue);
    printf("字符型成员: %c\n", myStruct.charValue);
    return 0;
}

初始化过程解释

  1. 定义结构体:使用typedef struct定义了一个名为MyStruct的结构体,它包含三个成员:intValue(整型)、floatValue(浮点型)和charValue(字符型)。
  2. 初始化结构体:在initMyStruct函数中,通过MyStruct s = {10, 3.14f, 'A'};对结构体进行初始化。这里按顺序为结构体的每个成员赋予了指定的默认值,10赋值给intValue3.14f(注意f后缀表示这是一个float类型的常量)赋值给floatValue'A'赋值给charValue。然后返回这个初始化好的结构体实例。
  3. main函数中:调用initMyStruct函数得到初始化好的结构体,并将其赋值给myStruct变量,接着通过printf函数输出各个成员的值,以验证初始化是否成功。