我想知道如何在C中创建一个整数数组,每次需要存储其他值时都可以将其扩展一个索引。我遇到了malloc,realloc和sizeof,但我真的不知道它们是如何工作的。这里有人可以举一个简短的例子说明如何用C语言实现这一点。
最佳答案
如果要调整数组大小,可以这样做:
int* arr = malloc(n*sizeof(int)); // n is your initial required array size
// now you need more
int* temp = realloc(arr,another_size*sizeof(int));
// check if reallocation is successful
if(temp!=NULL)
arr = temp;
这是malloc,realloc的工作方式:
malloc man page
realloc man page