我知道通过正常声明数组可以在运行时确定长度的数组:
char buf[len];
而且我知道我可以将数组声明为复合字面量并将其分配给中途的指针:
char *buf;
....
buf = (char[5]) {0};
但是,将两者结合起来不起作用(标准不允许)。
我的问题是:有什么办法可以实现下面代码的效果?(注len
)
char *buf;
....
buf = (char[len]) {0};
谢谢你。
我知道通过正常声明数组可以在运行时确定长度的数组:
char buf[len];
而且我知道我可以将数组声明为复合字面量并将其分配给中途的指针:
char *buf;
....
buf = (char[5]) {0};
但是,将两者结合起来不起作用(标准不允许)。
我的问题是:有什么办法可以实现下面代码的效果?(注len
)
char *buf;
....
buf = (char[len]) {0};
谢谢你。