使用指针先为数组元素赋值,然后遍历结构体数组
时间: 2024-03-30 17:10:51 浏览: 57
假设有以下结构体定义:
```
typedef struct {
int id;
char name[20];
int age;
} Person;
```
可以先用指针为数组元素赋值,然后遍历结构体数组的方法如下:
```
int main() {
// 定义结构体数组
Person persons[3];
// 定义指向结构体的指针
Person *p;
// 使用指针为数组元素赋值
p = persons;
p->id = 1;
strcpy(p->name, "Tom");
p->age = 20;
p++;
p->id = 2;
strcpy(p->name, "Jack");
p->age = 22;
p++;
p->id = 3;
strcpy(p->name, "Alice");
p->age = 21;
// 遍历结构体数组
for (int i = 0; i < 3; i++) {
printf("Person %d: id=%d, name=%s, age=%d\n", i + 1, persons[i].id, persons[i].name, persons[i].age);
}
return 0;
}
```
输出结果为:
```
Person 1: id=1, name=Tom, age=20
Person 2: id=2, name=Jack, age=22
Person 3: id=3, name=Alice, age=21
```
阅读全文