Реферат: Динамическое распределение памяти
Matr M;
M.SetRazm(3,3);
if (!DinMatr(&M))
{
printf ("Не хватает памяти для матрицы\n");
exit(1);
}
Setelem(&M,M_);
printf ("%f\n",OctNorm(&M));
FreeMatr(&M);
return 0;
}
int DinMatr (Matr *matr)
{
if (!(matr->ptr=(double **)malloc(sizeof(double *)*(matr->m)))) return 0;
for (int i=0;i<matr->m;i++)
{
if (!(matr->ptr[i]=(double *)malloc(sizeof(double)*(matr->n)))) return 0;
}
return 1;
}
void FreeMatr(Matr *matr)
{
for (int i=0;i<matr->m;i++)
{
if (matr->ptr[i]) free(matr->ptr[i]);
}
if (matr->ptr) free(matr->ptr);
}