有没有办法在for循环中创建唯一的结构?

时间:2020-10-18 18:04:49

标签: c

我已经在Stack和Google上进行了一些搜索,但还没有发现特别有用的东西,所以我想写一篇新文章。

假设我具有以下结构:

typedef struct ItemToPurchase_Struct{

    char itemName[ITEM_NAME_MAX_SIZE];
    int itemPrice;
    int itemQuantity;
    
}ItemToPurchase;

是否有一种方法可以创建一个for循环,该循环可以为给定的结构创建新的唯一实例(如果使用的是正确的术语。我是C和struct的新手),而不必手动创建每个实例一个?

谢谢大家,希望您一切都好。

1 个答案:

答案 0 :(得分:2)

例如

ItemToPurchase * array[10];

for (int i=0; i<10; i++) {
    ItemToPurchase * item = malloc(sizeof(ItemToPurchase));
    array[i] = item;
}

对项目进行所需的操作,最后释放它们:

for (int i=0; i<10; i++) free(array[i]);