簡體   English   中英

如何在 c 中將結構數組初始化為全局?

[英]How can I initialize array of structs to global in c?

我想使 struct global 我嘗試了一些東西,但我得到了一個錯誤。

struct data{
    int barcode;
    char product_name[50];
    char category[50];
    float price;
};

void printer(){
    struct data *data1=(struct data*)malloc(sizeof(struct data));
}

int main()
{
    struct data *data1=(struct data*)malloc(sizeof(struct data));
    return 0;
}

“錯誤:初始化元素不是常數”

struct data{
    int barcode;
    char product_name[50];
    char category[50];
    float price;
};
struct data *data1=(struct data*)malloc(sizeof(struct data));

您不能在 function 上下文之外調用malloc 如果您想要一個結構,請將其聲明為全局變量。 如果您想要多個結構,請創建一個數組。

struct data data1;
struct data dataN[12];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM