我有这个变量:
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/