Valgrindを使用してcプログラムをデバッグしています。私が受け取るエラーは次のとおりです。
==2765== 8,000 bytes in 2 blocks are definitely lost in loss record 1 of 1
==2765== at 0x4C274A8: malloc (vg_replace_malloc.c:236)
==2765== by 0x404123: main (mycode.cpp:352)
352行目付近のコードは次のとおりです。
int **matrix;
matrix = (int**)malloc(2*sizeof(int*));
for (i=0; i<2; i++){
matrix[i] = (int*)malloc(size*sizeof(int)); //line 352
}
for (i=0; i<2; i++){ //inizialization
for (k=0; k<size; k++)
matrix[i][k] = 0;
}
これが、マトリックスにメモリを割り当てる私の方法です。これの何が問題になっていますか?
更新:プログラムの最後に、私は以下を使用しました:
free(matrix);