admin 管理员组

文章数量: 887019


2024年2月27日发(作者:bindings)

结构体数组赋值

什么是结构体?结构体,又称为结构、联合体、记录、结构联合体,是指由一系列不同的数据类型变量共同组成的复合数据类型。在C语言中,结构体数组可以用作基本数据类型的数组来存储,也可以用作存储复杂数据类型,以实现数据类型集合的存储结构。本文将讨论如何给结构体数组赋值。

给结构体数组赋值的第一种方法是使用结构体数组定义中定义的变量名,直接将值赋予结构体数组中的每一个变量。在下面的代码中,我们定义了一个结构体,它有三个成员变量:name、age和score。然后,我们定义一个结构体数组,叫做stu,用来存放三个学生的信息。接着,我们使用水平线_代表每个学生的信息,并将相应的值赋给结构体数组中的每一个变量,最后在输出函数中使用循环获取三个学生的信息。

```

struct student{

char name[20];

int age;

float score;

};

struct student stu[3]={

{tom20,86.5},

{jack21,82.5},

- 1 -

{mary20,90.5}

};

```

给结构体数组赋值的第二种方法是使用for循环,将值逐一赋给结构体数组中的每一个变量。在下面的代码中,我们定义了一个结构体数组,叫做stu,用来存放三个学生的信息。接着,我们使用for循环将三个学生的信息逐个赋值给每一个结构体,最后在输出函数中使用循环获取三个学生的信息。

```

struct student stu[3];

for(i=0;i<3;i++){

printf(Please input the information of student%d

i);

printf(

a);

scanf(%s&stu[i].name);

printf(age:);

scanf(%d&stu[i].age);

printf(score:);

scanf(%f&stu[i].score);

}

```

- 2 -

给结构体数组赋值的第三种方法是使用字符串,使用字符串分割函数将字符串中的内容分割,将分割出的内容赋给结构体数组的每一个变量。在下面的代码中,我们定义了一个字符串stu_str,其中包含了三个学生的信息,每个学生的信息由逗号分割,最后使用strtok函数将字符串中的内容分割,将分割出的内容赋给结构体数组的每一个变量,最后在输出函数中使用循环获取三个学生的信息。

```

char stu_str[50]=tom,20,86.5,jack,21,82.5,mary,20,90.5

char* p=strtok(stu_str,,);

struct student stu[3];

for(i=0;i<3;i++){

strcpy(stu[i].name,p);

p=strtok(NULL,,);

stu[i].age=atoi(p);

p=strtok(NULL,,);

stu[i].score=atof(p);

p=strtok(NULL,,);

}

```

以上便是给结构体数组赋值的三种方法,结构体数组可以用作基本数据类型数组来存储,也可以用作存储复杂数据类型,无论用于存储复杂数据类型还是基本数据类型,结构体数组的赋值方法都非常重 - 3 -

要,理解这三种赋值方式对于更好的使用结构体数组都十分有必要。

- 4 -


本文标签: 结构 数组 使用 数据类型 学生