gpt4 book ai didi

c - 是否可以在运行时设置结构内数组的大小?

转载 作者:太空狗 更新时间:2023-10-29 16:35:07 25 4
gpt4 key购买 nike

我的结构如下:

struct Query {  
int pages[];
int currentpage;
};

我想知道是否可以在创建结构后设置这个数组的大小。

Query new = malloc(sizeof(struct Query));

在此之后,我将执行一些计算,然后告诉我 pages[] 需要的大小。如果 pages[] 需要大小为 4,我该如何设置它?

最佳答案

在 C99 中你可以使用 Flexible array members :

struct Query {  
int currentpage;
int pages[]; /* Must be the last member */
};

struct Query *new = malloc(sizeof(struct Query) + sizeof(int) * 4);

关于c - 是否可以在运行时设置结构内数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37178921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com