C语言 遍历结构体的成员名
时间: 2024-04-06 09:09:49 浏览: 12
可以使用指向结构体成员的指针,在循环中依次指向每个成员,利用指针访问结构体成员的值。例如:
```
#include <stdio.h>
typedef struct{
int id;
char name[20];
float score;
}Student;
int main(){
Student s = {2021001, "Tom", 85.5};
Student *p = &s;
for(int i = 1; i <= 3; i++){
switch(i){
case 1:
printf("ID: %d\n", p->id);
break;
case 2:
printf("Name: %s\n", p->name);
break;
case 3:
printf("Score: %.2f\n", p->score);
break;
}
p++;
}
return 0;
}
```
输出:
```
ID: 2021001
Name: Tom
Score: 85.50
```
这里利用了指向结构体成员的指针 `p`,通过指针访问结构体成员的值,循环遍历结构体的所有成员。
相关问题
c语言遍历结构体成员
在C语言中,可以使用结构体的成员运算符(.)来访问结构体的成员。要遍历结构体的成员,你可以使用循环或者递归来进行操作。下面是一个示例代码,展示了如何遍历结构体的成员:
```c
#include <stdio.h>
// 定义一个结构体
struct Person {
char name[20];
int age;
float salary;
};
int main() {
// 创建一个结构体变量
struct Person person = {"John", 25, 5000.0};
// 遍历结构体的成员
printf("Person information:\n");
printf("Name: %s\n", person.name);
printf("Age: %d\n", person.age);
printf("Salary: %.2f\n", person.salary);
return 0;
}
```
在上面的示例中,我们定义了一个名为`Person`的结构体,包含了名字、年龄和薪水三个成员。然后,在`main()`函数中创建了一个`person`结构体变量,并对其成员进行遍历输出。你可以根据需要修改结构体的成员和遍历方式。
C语言如何自动遍历结构体
可以使用结构体指针和指针运算符 "->" 遍历结构体中的成员,例如:
```
#include <stdio.h>
typedef struct {
int age;
char name[20];
float score;
} Student;
int main() {
Student stu = {18, "Tom", 90.5};
Student *p = &stu;
printf("struct member:\n");
printf("age: %d\n", p->age);
printf("name: %s\n", p->name);
printf("score: %.1f\n", p->score);
return 0;
}
```
输出:
```
struct member:
age: 18
name: Tom
score: 90.5
```