当前位置:首页C语言 > 正文

c语言遍历结构体

作者:野牛程序员:2023-07-31 20:46:07C语言阅读 2677

在 C 语言中,遍历结构体可以使用传统的 for 循环和指针遍历结构体数组。假设有一个结构体定义如下:

#include <stdio.h>

struct Person {
    char name[50];
    int age;
    char occupation[50];
};

  1. 使用传统的 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;
}
  1. 使用指针遍历结构体数组:

#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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击