c语言中的struct:结构体与内嵌结构体

`struct`是C语言中的一种数据结构,用于将多个不同类型的变量组合在一起。它允许你创建自定义的数据类型,以便更好地组织和管理相关的数据。

例子:

#include <stdio.h>

// 定义一个名为Person的结构体
struct Person {
    char name[50]; // 姓名
    int age;       // 年龄
    float height;  // 身高(单位:米)
};

int main() {
    // 创建一个Person类型的变量
    struct Person person1;

    // 给结构体的成员赋值
    strcpy(person1.name, "Alice");
    person1.age = 30;
    person1.height = 1.65;

    // 输出结构体成员的值
    printf("Name: %s\n", person1.name);
    printf("Age: %d\n", person1.age);
    printf("Height: %.2f meters\n", person1.height);

    return 0;
}

我们首先定义了一个名为`Person`的结构体,其中包含了三个成员:`name`、`age`和`height`。然后,在`main`函数中,我们创建了一个`Person`类型的变量`person1`,并为其成员分别赋值。最后,我们使用`printf`函数输出了这些成员的值。结构体的成员可以是任何基本数据类型,也可以是其他结构体或指针类型。此外,还可以使用结构体数组来存储多个结构体实例。

结构体(struct)可以包含其他结构体作为其成员。这种嵌套的结构体被称为“内嵌结构体”或“复合结构体”。

#include <stdio.h>

// 定义一个内嵌结构体Person
struct Person {
    char name[50];
    int age;
};

// 定义一个外层结构体Employee,其中包含一个Person类型的成员
struct Employee {
    int id;
    struct Person person; // 内嵌结构体Person
};

int main() {
    // 创建一个Employee实例并初始化
    struct Employee employee1 = {1, {"张三", 30}};

    // 访问内嵌结构体的成员
    printf("员工ID: %d\n", employee1.id);
    printf("姓名: %s\n", employee1.person.name);
    printf("年龄: %d\n", employee1.person.age);

    return 0;
}

我们定义了一个名为Person的结构体,它包含两个成员:nameage。然后,我们定义了一个名为Employee的结构体,它包含一个id和一个Person类型的成员。在main函数中,我们创建了一个Employee实例,并初始化了它的成员。最后,我们访问了内嵌结构体的成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值