C/C++の宿題を片付けます 61代目
■ このスレッドは過去ログ倉庫に格納されています
0807デフォルトの名無しさん
2006/02/28(火) 11:07:15次のように行列のスペースを確保して
int i;
double **A;
A = calloc( 10, sizeof(double *) );
for( i=0; i<10; ++i )
A[i] = calloc( 10, sizeof(double) );
あとから行列Aを解放するとき、
for( i=0; i<10; ++i )
free(A[i]);
free(A);
と各行ごとにfree(A[i])として解放する必要はありますか?
それとも各行ごとにfreeしなくても、free(A)とするだけで、
各行ごとに確保したメモリも解放されますか?
free(A)だけした直後にusleep(10000000)してtopでプログラムの
メモリの消費量をみていると、各行ごとにfree(A[i])しなくても
メモリは解放されているような気もします。
■ このスレッドは過去ログ倉庫に格納されています