c语言遍历结构体
作者:野牛程序员:2023-07-31 20:46:07C语言阅读 2677
在 C 语言中,遍历结构体可以使用传统的 for 循环和指针遍历结构体数组。假设有一个结构体定义如下:
#include <stdio.h> struct Person { char name[50]; int age; char occupation[50]; };
使用传统的 for 循环遍历:
#include <stdio.h> struct Person { char name[50]; int age; char occupation[50]; }; int main() { struct Person people[3] = { {"John", 25, "Engineer"}, {"Alice", 30, "Doctor"}, {"Bob", 22, "Student"} }; int numPeople = sizeof(people) / sizeof(people[0]); for (int i = 0; i < numPeople; ++i) { printf("Name: %s, Age: %d, Occupation: %s\\n", people[i].name, people[i].age, people[i].occupation); } return 0; }
使用指针遍历结构体数组:
#include <stdio.h> struct Person { char name[50]; int age; char occupation[50]; }; int main() { struct Person people[3] = { {"John", 25, "Engineer"}, {"Alice", 30, "Doctor"}, {"Bob", 22, "Student"} }; int numPeople = sizeof(people) / sizeof(people[0]); struct Person *ptrPerson = people; // 将指针指向数组的起始地址 for (int i = 0; i < numPeople; ++i) { printf("Name: %s, Age: %d, Occupation: %s\\n", ptrPerson->name, ptrPerson->age, ptrPerson->occupation); ptrPerson++; // 移动指针到下一个元素 } return 0; }
以上两种方法都可以用来遍历结构体数组,并输出结构体中的数据。第二种方法使用指针遍历,在处理大型结构体数组时可能会更加高效。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:c++vector逆序排序
- 下一篇:c++文件读入结构体