假设我有两个字符串大小sizeA和SizeB,我可以使用它们来创建如下所示的数组:
char str[sizeA+sizeB];
我希望数组是一维的,并且sizeA和sizeB的大小相结合。我该怎么做呢?
谢谢!
答案 0 :(得分:2)
是的,没关系。
它被称为variable-length array,并在C99中添加。
如果您打算在该数组中创建实际字符串,则需要+ 1
作为终结符。
如果这是在函数内部并且您打算返回新数组,则必须通过malloc()
使用堆分配。
答案 1 :(得分:1)
如果使用不支持C99的编译器,并且sizeA
和sizeB
不是常量,则不能这样做。您可以确定对于所有情况都足够大的大小,或者您可以使用malloc