Вопрос в следующем.
А что собственно будет если память не освобождать после
скажем выделения malloc()? Если программа заканчивается корректно?
Ну и простой тест:
#include<stdio.h>
#include<stdlib.h>
int main()
{
double **arr=NULL;
int i=0,j=0;
arr=(double**)malloc(1000000*sizeof(double));
for(i=0;i<1000000;i++)
arr[i]=(double*)malloc(sizeof(int)*1000000);
printf("\n Array is Allocated.");
for(i=0;i<1000000;i++)
{
for(j=0;j<1000000;j++)
{
arr[i][j]=i*j;
printf("\n %E", arr[i][j]);
}
}
return 0;
}
Почему сегфолтится?
И что будет если запустить ее 1000 раз?