结构体数组代码
C语言结构体数组的定义?
C语言结构体数组的定义?
所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
定义结构体数组和定义结构体变量的方式类似,请看下面的例子:
struct stu{
char *name //姓名
int num //学号
int age //年龄
char group //所在小组
float score //成绩
}class[5]
表示一个班级有5个学生。
再如:
假如要定义一个班级40个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。如下所示:
struct{
char name[8]
char sex[2]
int age
char addr[40]
}student[40]
也可定义为:
struct string{
char name[8]
char sex[2]
int age
char addr[40]
}
struct string student[40]
需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为:
结构数组元素.成员名
例如:
student[0].name
student[30].age
实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是
一个结构变量, 第二维是结构成员。
注意: 结构数组的成员也可以是数组变量。
C语言,结构体中的数组怎么赋值?
我们之前已经学习了,整型变量、字符型变量、浮点型变量等存储数据的类型和定义,但是有些时候我们需要更复杂的变量结构来表示一些数据结构。今天我们来学习两种关于数据的存储及使用的方法,即数组和结构体。以及一个格式输出的函数sprintf。一、我们首先来看一下数组:数组,简单来说就是一组有序的、类型相同的数据的集合。定义: 类型 数组名[常量]例: 定义一个整型类型的数组并赋初值: int num[3]={0,1,2};此数组的名称是num,并且数组的长度为3,即有3个元素,分别是num[0],num[1],num[2],那么:num[0] 的数据值就是 0,num[1]的数据值就是1,num[2]的数据值就是2.我们可以看出,数组元素的下标是从0开始的。数组元素就相当于一个变量,可以给它赋值,如:num[0] = 3 num[1] = 4 num[2] = 5那么相应的元素的值就改变了。我们可以用printf 函数输出验证:#include ltstdio.hgt int main() { int num[3]={0,1,2} printf(\