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

C 有没有办法在for循环中创建唯一的结构?,c,C,我在Stack和Google上做了一些搜索,没有发现任何特别有用的东西,所以我想我应该写一篇新的帖子 假设我有以下结构: typedef struct ItemToPurchase_Struct{ char itemName[ITEM_NAME_MAX_SIZE]; int itemPrice; int itemQuantity; }ItemToPurchase; 有没有一种方法可以创建一个for循环来创建给定结构的新的唯一实例(如果这是正确的术语的话..我

我在Stack和Google上做了一些搜索,没有发现任何特别有用的东西,所以我想我应该写一篇新的帖子

假设我有以下结构:

typedef struct ItemToPurchase_Struct{

    char itemName[ITEM_NAME_MAX_SIZE];
    int itemPrice;
    int itemQuantity;
    
}ItemToPurchase;
有没有一种方法可以创建一个for循环来创建给定结构的新的唯一实例(如果这是正确的术语的话..我对C和structs是新手),而不是手动创建每个实例

谢谢大家,希望你们一切顺利。

例如

ItemToPurchase * array[10];

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

对于(int i=0;i是否需要(零初始化)数组:
ItemToPurchase arr[10]={0};
?然后,要设置可以执行的第一个元素:
strcpy(arr[0]。itemName,“first”);arr[0]。itemPrice=42;arr[0]。itemQuantity=-1;
或设置最后一个元素:
strcpy(arr[9]。itemName,“last”);…
@pmg我不是问如何设置struct元素的值。我是问是否有办法在for-loop中创建相同类型的新的、唯一的结构。您需要使用
malloc()
动态分配它们。我听说过malloc,但从未使用过。我会研究一下。谢谢您的帮助@dspr
for (int i=0; i<10; i++) free(array[i]);