struct student { int num; int age; char name[20]; char sex; float fenshu; }stu[]= { 202211,12,"zhang wang","M",71.3, 202212,12,"wang qiang","M",82.1, 202213,13,"zhang he","W",81,2 };
时间: 2024-04-16 14:28:41 浏览: 28
在C语言中,可以使用以下方式引用结构体数组:
```c
#include <stdio.h>
struct student
{
int num;
int age;
char name[20];
char sex;
float fenshu;
};
int main()
{
struct student stu[] = {
{202211, 12, "zhang wang", 'M', 71.3},
{202212, 12, "wang qiang", 'M', 82.1},
{202213, 13, "zhang he", 'W', 81.2}
};
// 访问结构体数组元素
printf("学生1的姓名:%s\n", stu[0].name);
printf("学生2的年龄:%d\n", stu[1].age);
printf("学生3的分数:%f\n", stu[2].fenshu);
return 0;
}
```
在上述代码中,我们定义了一个名为`student`的结构体,然后创建了一个结构体数组`stu`并初始化了其元素。通过使用索引来访问结构体数组的元素,可以获取每个学生的具体信息。
相关问题
struct student{ int number; char *name; char sex; float score; };怎样访问name
结构体student中的name成员是一个指向char类型的指针,因此访问name需要使用间接访问运算符 ->。示例代码如下:
```c
struct student {
int number;
char *name;
char sex;
float score;
};
int main() {
struct student stu;
stu.name = "Tom"; // 给name赋值
printf("Name: %s\n", stu.name); // 使用间接访问运算符 -> 访问name成员
return 0;
}
```
在上面的代码中,我们定义了一个结构体student,其中包含一个指向char类型的指针name。接着定义了一个结构体变量stu,并使用stu.name将指针指向一个字符串。最后使用间接访问运算符 -> 访问name成员,并输出结果。
需要注意的是,访问结构体中的指针时要确保指针指向的内存已经被分配和初始化,否则可能会导致访问非法内存的错误。
struct student { int id; char name[20]; float score; }; struct student stu[4],*p;
这段代码与你之前提到的代码唯一的区别在于结构体的定义方式。这里使用的是先定义结构体类型,再定义结构体变量和指针的方式。具体来说,第一行代码定义了一个名为 student 的结构体类型,包含三个成员变量:id、name、score。第二行代码定义了一个名为 stu 的 student 类型的数组,长度为 4。第三行代码定义了一个名为 p 的 student 类型的指针。