我正在为一个项目实现HLS解决方案,所以我不能使用malloc函数。此刻我有这个C代码:
unsigned short int * samples = NULL;
samples = (unsigned short int *)malloc(12*sizeof(unsigned short int));
我可以使用:
unsigned short int * sample[23];
实施它?
您有两个选择-要么声明一个固定大小的数组:
unsigned short int samples[12];
或者,如果您使用C99或更新版本,则使用VLA(注意堆栈溢出(:
int n = 12;
unsigned short int samples[n];
后者更经常将n
视为函数参数:
void do_something(int n)
{
unsigned short int samples[n];
...
}