首页 > 解决方案 > 如何从结构数组中获取值?(C)

问题描述

我一直在尝试访问我在结构数组中声明的值,如下所示。

struct info{
    int name[];
    int age[];
};

const struct info arr_info[] = {{Pat,15}, {Emily,4}, {Matt,22}};

我正在使用以下方法,但是,我发现只获得了指针。这是一个问题,因为我试图将此值传递给函数。

arr_info[2].age

我在代码中需要什么才能访问值本身?

提前致谢。

标签: arrayscpointersstruct

解决方案


你的意思可能是这样的:

// Define struct called "info"...
struct info {
    // ...with a character string property "name"...
    char* name;
    // ...and a single integer representing "age".
    int age;
};

const struct info arr_info[] = {{"Pat",15}, {"Emily",4}, {"Matt",22}};

您定义的是一个结构数组,其中包含数组,考虑到分配行的意图,这实际上没有任何意义。这意味着当您想要的是多个结构时,每个info结构可以有多个名称多个年龄,每个结构都有一个名称和一个年龄。info


推荐阅读