即使分配了内存,数组大小也保持不变

我知道这可能很愚蠢,但是我不明白为什么我使用malloc为汽车分配内存后,汽车的大小是8。无论我输入carsAmount的大小如何,都请帮助。 当我在分配它之前检查数组大小-它是8。 我试图释放它,但出现错误。 我尝试使用realloc-didnt工作。

这是我的代码段:

int* cars = NULL;
int carsAmount;

printf("Enter cars amount:\n");
scanf("%d",&carsAmount);
cars = realloc(cars, (carsAmount)*sizeof(int));
评论