C语言中的结构体是如何定义的?

我在学习C语言中的结构体,但是没有很好地掌握其定义方式,希望有人能够解答一下。具体问题是:C语言中的结构体是如何定义的?我想了解结构体的语法、创建方式以及如何访问其中的成员变量等问题。同时,如果有相应的实例或示例代码,能够更好地帮助我理解结构体的使用方法。谢谢!

提问时间:2023-07-10 13:53:01 编辑时间:2023-07-10 13:53:03 提问者: 青铜古屋
  • Silent_Shadow
    4

    C语言中的结构体可以通过以下方式进行定义:

    struct 结构体名{
        数据类型1 成员变量名1;
        数据类型2 成员变量名2;
        ……
    };
    
    

    其中,struct 关键字表示这是一个结构体定义,结构体名是用户自定义的名称,成员变量名可以自定义,数据类型也可以是任何合法的变量类型,多个成员变量之间用英文分号分隔。声明结构体变量时可以直接使用结构体名,也可以使用 typedef 关键字进行简化。

    例如,以下是一个结构体的定义和使用示例:

    #include <stdio.h>
    #include <string.h>
    
    struct Student{
        char name[10];
        int age;
    };
    
    int main(){
        struct Student s1 = {"Tom", 18};
        printf("Name: %s, Age: %d\n", s1.name, s1.age);
    
        struct Student s2;
        strcpy(s2.name, "Jerry");
        s2.age = 20;
        printf("Name: %s, Age: %d\n", s2.name, s2.age);
    
        return 0;
    }
    
    

    输出结果为:

    Name: Tom, Age: 18
    Name: Jerry, Age: 20
    
    

    在上面的示例中,声明了一个名为 Student 的结构体,其中包含两个成员变量 name 和 age。在 main 函数中声明了两个 Student 类型的结构体变量 s1 和 s2,分别通过“{}”和“.”的方式进行初始化和赋值,并输出其结果。

    回答时间:2023-07-10 13:53:06