以下是一个示例代码:

#include <stdio.h>
#include <string.h>

// 定义结构体
struct Data {
    char name[20];
    int age;
};

// 函数声明
void func1(struct Data data);
void func2(struct Data data);
void func3(struct Data data);

int main() {
    // 初始化结构体数组
    struct Data arr[] = {
        {"Tom", 20},
        {"Jerry", 22},
        {"Mike", 18}
    };
    int len = sizeof(arr) / sizeof(arr[0]);
    
    // 循环遍历结构体数组
    for (int i = 0; i < len; i++) {
        struct Data data = arr[i];
        // 根据结构体中的字符串执行对应的函数
        if (strcmp(data.name, "Tom") == 0) {
            func1(data);
        } else if (strcmp(data.name, "Jerry") == 0) {
            func2(data);
        } else if (strcmp(data.name, "Mike") == 0) {
            func3(data);
        }
    }
    
    return 0;
}

// 函数定义
void func1(struct Data data) {
    printf("func1: name=%s, age=%d\n", data.name, data.age);
}

void func2(struct Data data) {
    printf("func2: name=%s, age=%d\n", data.name, data.age);
}

void func3(struct Data data) {
    printf("func3: name=%s, age=%d\n", data.name, data.age);
}

以上代码中,定义了一个结构体 Data,包含两个成员变量 nameage,表示姓名和年龄。接着定义了三个函数 func1func2func3,分别输出结构体中的姓名和年龄。在 main 函数中,初始化了一个结构体数组 arr,循环遍历结构体数组,根据结构体中的字符串执行对应的函数。例如,当结构体中的姓名为 "Tom" 时,执行 func1 函数,输出 "func1: name=Tom, age=20"


原文地址: https://www.cveoy.top/t/topic/htpj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录