首页 > 解决方案 > 如果我在另一个结构中有结构并且我试图将它们放在一个数组中

问题描述

我有一个名为的结构item,现在我有另一个名为array的结构itemstruct item arrayofList必须是大小5

#include <stdio.h>
#include <string.h>
#define MaxItems 5
#define NameLength 20
#define UnitLenght 6



struct item
{
    char name[NameLength];
    float amount;
    char unit[UnitLenght];
};
struct array
{
    struct item arrayofList;
};

int main(void)
{
    struct array shopping[MaxItems];

我给出的列表大小是 5 还是我做错了

标签: cstruct

解决方案


如果你想struct array包含一个 5 的数组LIST,你可以这样声明它:

struct array
{
    struct LIST arrayofList[MaxItems];
};

然后将其用作

int main(void)
{
    struct array shopping;

但我会同意 Jabberwock,目前这struct array是多余的,您可以通过完全删除struct array并直接使用数组来实现相同的功能LIST

int main(void)
{
    struct LIST shopping[MaxItems];

除非您打算最终向 中添加更多属性struct array,否则这会更简单。


推荐阅读