在C中初始化一个动态数组

Initialize a dynamic array in C

如何在 C 中实现与此静态数组初始化等效的动态?

char c[] = {}; // Sets all members to '[=10=]';

换句话说,创建一个动态数组,所有值都初始化为终止符。下面的方法对吗?有没有更好的方法?

str = (char*)malloc(length*sizeof(char));
memset(str, 0, length);

谢谢!

您要查找的函数是calloc

在你的情况下,你会这样使用它:

char * str = calloc(length, sizeof(char));