C语言结构体数组:定义、初始化和访问详解
C语言结构体数组:定义、初始化和访问详解
在C语言中,结构体可以让我们将不同数据类型的数据组合在一起,形成一个自定义的数据类型。而结构体数组,则是由多个相同结构体类型的元素组成的数组。
本文将通过一个 person 结构体的例子,详细讲解如何定义结构体数组、初始化结构体数组以及如何访问结构体数组的成员。
定义结构体数组
定义结构体数组的方式与定义普通数组的方式类似,只需要在结构体变量名前加上数组大小即可。c#include <stdio.h>
struct person { char name[10]; char gender[10]; unsigned char height; float high;};
int main() { // 定义一个包含20个person结构体的数组 struct person a[20]; return 0;}
在上面的代码中,我们定义了一个名为 a 的结构体数组,它可以存储20个 person 类型的结构体变量。
初始化结构体数组
初始化结构体数组的方式与初始化结构体变量的方式类似,可以使用大括号 {} 将每个结构体元素的值括起来。c#include <stdio.h>
struct person { char name[10]; char gender[10]; unsigned char height; float high;};
int main() { struct person a[20] = { {'张三', '男的', 175, 80.0}, {'李四', '女的', 165, 55.0}, // ... 初始化其他元素 ... }; return 0;}
在上面的代码中,我们初始化了结构体数组 a 的前两个元素。每个元素都是一个 person 结构体,包含姓名、性别、身高和体重信息。
访问结构体数组的成员
访问结构体数组成员的方式与访问结构体变量成员的方式相同,使用点运算符 . 来访问结构体成员。c#include <stdio.h>
struct person { char name[10]; char gender[10]; unsigned char height; float high;};
int main() { struct person a[20];
// 初始化数组元素 a[2] = (struct person){'张三', '男的', 175, 80.0};
// 输出数组元素的值 printf('姓名:%s
', a[2].name); printf('性别:%s ', a[2].gender); printf('身高:%hhu ', a[2].height); printf('体重:%.2f ', a[2].high); return 0;}
在上面的代码中,我们首先定义了一个 person 类型的结构体数组 a,然后使用复合字面量初始化了数组的第3个元素 (a[2])。最后,我们使用点运算符 . 访问并打印了 a[2] 的各个成员值。
总结
结构体数组是C语言中一种非常常用的数据结构,它可以让我们方便地存储和管理多个具有相同数据结构的变量。通过本文的讲解,相信你已经掌握了如何定义、初始化和访问结构体数组。
原文地址: https://www.cveoy.top/t/topic/2yo 著作权归作者所有。请勿转载和采集!