在C语言中,结构体是一种用户自定义的数据类型,允许将不同类型的数据组合在一起形成一个新的数据类型。结构体是一种用于存储多个相关数据成员的集合。以下是关于C结构体的基本概念和用法:

结构体的定义和声明
#include <stdio.h>

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

int main() {
    // 声明结构体变量
    struct Person person1;

    // 初始化结构体变量
    strcpy(person1.name, "John Doe");
    person1.age = 25;
    person1.height = 175.5;

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

    return 0;
}

结构体数组
#include <stdio.h>

// 定义一个结构体类型
struct Point {
    int x;
    int y;
};

int main() {
    // 声明结构体数组
    struct Point points[3];

    // 初始化结构体数组
    points[0].x = 1;
    points[0].y = 2;
    points[1].x = 3;
    points[1].y = 4;
    points[2].x = 5;
    points[2].y = 6;

    // 输出结构体数组元素的值
    for (int i = 0; i < 3; ++i) {
        printf("Point %d: (%d, %d)\n", i+1, points[i].x, points[i].y);
    }

    return 0;
}

结构体作为函数参数
#include <stdio.h>

// 定义一个结构体类型
struct Rectangle {
    int length;
    int width;
};

// 函数接受结构体作为参数
int calculateArea(struct Rectangle rect) {
    return rect.length * rect.width;
}

int main() {
    // 声明结构体变量
    struct Rectangle myRect;

    // 初始化结构体变量
    myRect.length = 10;
    myRect.width = 5;

    // 调用函数,传递结构体参数
    int area = calculateArea(myRect);

    // 输出计算结果
    printf("Area of the rectangle: %d\n", area);

    return 0;
}

结构体在C语言中是一种灵活的数据结构,允许将相关的数据组织在一起。结构体的使用可以提高程序的可读性和可维护性,特别是在处理复杂数据时。


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