我的结构如下:
struct Query {
int pages[];
int currentpage;
};
Run Code Online (Sandbox Code Playgroud)
我想知道在创建结构后是否可以设置此数组的大小.
Query new = malloc(sizeof(struct Query));
Run Code Online (Sandbox Code Playgroud)
在此之后,我将执行一些计算,然后告诉我pages[]需要的大小.如果pages[]需要大小为4,我该如何设置它?
我有一个struct定义:
struct Query {
int *pages;
int currentpage;
};
struct Query *new = malloc(sizeof(struct Query));
new->pages = malloc(sizeof(int) * 4);
Run Code Online (Sandbox Code Playgroud)
然后检查大小new->pages以确保大小为4:
int size = sizeof(new->pages)/sizeof(new->pages[0]);
Run Code Online (Sandbox Code Playgroud)
但是,size保持回归2而不是4.
谁会知道我可能做错了什么?
谢谢你的帮助.