c语言结构体数组怎么定义和使用的

C语言结构体数组怎么定义和使用

结构体简介

结构体(struct)是C语言中一种自定义的数据类型,它可以将不同类型的数据组合在一起,结构体的定义使用关键字struct,后面跟结构体的名称和由花括号括起来的成员列表,每个成员可以是任意类型的数据,包括基本数据类型、其他结构体类型等,结构体数组是一个包含多个结构体变量的数组。

c语言结构体数组怎么定义和使用的

定义结构体

1、基本结构体定义

struct Student {
    int id;
    char name[20];
    float score;
};

2、带默认值的结构体定义

struct Student {
    int id = 0;
    char name[20] = "unknown";
    float score = 0.0;
};

3、带指针的结构体定义

c语言结构体数组怎么定义和使用的

struct Student {
    int *id;
    char *name;
    float *score;
};

定义结构体数组

1、直接定义结构体数组

struct Student students[3] = {
    {1, "张三", 90.5},
    {2, "李四", 85.0},
    {3, "王五", 88.0}
};

2、使用malloc动态分配内存空间定义结构体数组

include <stdlib.h>
struct Student *students = (struct Student *)malloc(3 * sizeof(struct Student));
students[0] = (struct Student){1, "张三", 90.5};
students[1] = (struct Student){2, "李四", 85.0};
students[2] = (struct Student){3, "王五", 88.0};

注意:使用完动态分配的内存后,需要使用free函数释放内存。

c语言结构体数组怎么定义和使用的

访问结构体数组元素

1、直接访问结构体数组元素(推荐方法)

printf("学生ID:%d,姓名:%s,成绩:%.2f
", students[0].id, students[0].name, students[0].score);

2、通过下标访问结构体数组元素(不推荐)

printf("学生ID:%d,姓名:%s,成绩:%.2f
", students[i].id, students[i].name, students[i].score); // 不推荐使用下标访问,容易出错

遍历结构体数组(for循环)

for (int i = 0; i < 3; i++) {
    printf("学生ID:%d,姓名:%s,成绩:%.2f
", students[i].id, students[i].name, students[i].score);
}

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/230068.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年1月19日 08:00
下一篇 2024年1月19日 08:04

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入