我有以下声明:字符名称[size + 1] = {'\ 0'}; 其中size具有预定义值。我不想修复数组的大小。我想知道如何声明一个字符串,该字符串将在C中保存带有动态lenth的名称。
谢谢。
答案 0 :(得分:0)
你可以使用malloc来做到这一点。
char* name = (char*)malloc((size+1) * sizeof(char));
了解它here。
当您编写char name[size + 1]
时,内存将在堆栈上分配。但是使用malloc它会在堆上分配(动态内存)。