【发布时间】:2021-12-11 03:33:54
【问题描述】:
您好,当我使用 realloc 为数组分配更多内存时,下一个大小一直无效,我也尝试添加 100,000 个数字。我不知道为什么,因为我不明白为什么它不起作用。我的代码在下面。
int main()
{
printf("starting");
int i;
int *bubbleSortArray = (int *)malloc(sizeof(int));
int numberOfElements = 0;
int randomNumber;
srand(time(NULL));
int j;
for (int j = 0; j <= 100000; j = j +1)
{
randomNumber = rand();
if(numberOfElements != 0)
{
bubbleSortArray = (int *) realloc(bubbleSortArray, numberOfElements * sizeof(int));
}
bubbleSortArray[numberOfElements] = randomNumber;
numberOfElements = numberOfElements + 1;
}
}
【问题讨论】:
-
我很抱歉
-
你在数组外写。分配
numberOfElements元素时,最大索引为numberOfElements - 1。
标签: c for-loop dynamic-memory-allocation realloc