我有这个变量:

char *var[] = {get_answer(answers, 0), get_answer(answers, 1)};


我想添加get_answer(answers, 2)作为var[]的第三个元素,这是我尝试过的:

var[2] = get_answers(answers, 2);


它似乎什么也没做。
我应该如何将元素附加到所述变量?

最佳答案

数组var的大小是根据初始化期间提供的元素数自动确定的。当您为其分配更多元素时,它不会更改。因此,您不能在var[2]处进行分配。

您可以使用malloc()动态分配指针数组。或者在初始化期间提供更多元素,例如NULL指针。或显式提供数组的大小。

char *var[] = {get_answer(answers, 0), get_answer(answers, 1), NULL, NULL, NULL}; // 5 elements


要么

char *var[10] = {get_answer(answers, 0), get_answer(answers, 1), NULL, NULL, NULL}; // 10 elements

关于c - 如何在C中将元素追加到char * var []?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40070016/

10-11 21:03