在C语言中,结构体(Structures)是一种用于组合不同类型的数据项的复合数据类型。结构体允许你将多个变量组合成一个单一的数据结构,使得在程序中更容易组织和管理数据。以下是有关C语言结构体的基本知识:

1. 定义结构体:
#include <stdio.h>

// 定义结构体
struct Person {
    char name[50];
    int age;
    float height;
};

int main() {
    // 使用结构体
    struct Person person1;

    // 初始化结构体成员
    strcpy(person1.name, "John");
    person1.age = 25;
    person1.height = 1.75;

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

    return 0;
}

2. 结构体嵌套:
#include <stdio.h>

// 嵌套结构体
struct Date {
    int day;
    int month;
    int year;
};

struct Student {
    char name[50];
    int rollNumber;
    struct Date birthdate;
};

int main() {
    // 使用嵌套结构体
    struct Student student1;

    // 初始化结构体成员
    strcpy(student1.name, "Alice");
    student1.rollNumber = 101;
    student1.birthdate.day = 5;
    student1.birthdate.month = 8;
    student1.birthdate.year = 2000;

    // 输出结构体成员
    printf("Name: %s\n", student1.name);
    printf("Roll Number: %d\n", student1.rollNumber);
    printf("Birthdate: %d/%d/%d\n", student1.birthdate.day, student1.birthdate.month, student1.birthdate.year);

    return 0;
}

3. 使用typedef简化结构体声明:
#include <stdio.h>

// 使用typedef简化结构体声明
typedef struct {
    char title[100];
    int year;
} Book;

int main() {
    // 使用typedef定义的结构体
    Book book1;

    // 初始化结构体成员
    strcpy(book1.title, "The C Programming Language");
    book1.year = 1978;

    // 输出结构体成员
    printf("Title: %s\n", book1.title);
    printf("Year: %d\n", book1.year);

    return 0;
}

结构体允许你在一个数据结构中组织相关的数据,并通过成员运算符 . 来访问结构体的成员。这使得在C语言中能够更灵活地表示和处理复杂的数据结构。


转载请注明出处:http://www.zyzy.cn/article/detail/3184/C语言