我正在尝试为包含“引用”类型的数组的循环缓冲区创建一个结构。但是,报价数组必须以 10 的大小开始。我试图弄清楚我是在 .h 文件还是在 .c 文件中声明了 10 的大小。我的两个文件如下:
.h 文件:
typedef struct{
unsigned int time;
double rate;
}quote;
typedef struct{
unsigned int testNum;
quote quoteBuffer[];
}cbuf;
cbuf* cbuf_init();
.c 文件:
cbuf* cbuf_init(){
cbuf *buffer = (cbuf *)calloc(1,sizeof(cbuf));
buffer->testNum = 1;
quote newQuote = {1,1.00};
buffer->quoteBuffer[1] = newQuote;
return buffer;
}
这些显然只是测试值,但是如果我想专门使 cbuf 结构中的引号数组以 10 的大小开始,我是否会在 .h 文件中将其声明为:
typedef struct{
unsigned int testNum;
quote quoteBuffer[10];
}cbuf;
或以其他方式在 .c 文件中?