动态分配内存在用free回收时内存泄漏#includestdio.h#includestdlib.hint main(){int number 0prin
动态分配内存在用free回收时内存泄漏
#include<stdio.h>
#include<stdlib.h>
int main()
{
int number = 0;
printf("please enter the number of the array:");
scanf("%d",&number);
int * array = (int *)malloc(number);
for(int i = 0; i <number; i ++)
{
printf("please enter the %dth element:",i + 1);
scanf("%d",&array[i]);
}
for(i = 0; i <number ; i ++)
{
printf("%d\n",array[i]);
}
free(array);//内存泄漏
return 0;
}
在调用free(array);时为什么会内存泄漏。
[解决办法]
是不是应该这样申请
int * array = (int *)malloc(number*sizeof(int));
