malloc() した構造体があり、それらを使用した後、それを free() したいのですが、プログラムがここでフリーズします。誰が私が間違っているのか教えてもらえますか?
これが私のコードです:
struct data
{
char *filename;
char *size;
};
//primarypcs is a long type variable
struct data *primary = (struct data *)malloc( primarypcs * sizeof( struct data ) );
memset( primary, 0, sizeof(struct data *) * primarypcs );
...
...
...
for ( i = 0; i < primarypcs; i++ )
{
free( primary[i].filename ); //<----my program freezes here
free( primary[i].size ); //<----or here
}
free( primary );
前もって感謝します!
カンピ
編集:
ファイル名とサイズのメモリを正しく malloc するにはどうすればよいですか?
EDIT2:
申し訳ありませんが、急いでいたため、必要な情報をすべてお伝えできませんでした。今すぐやりましょう :) 基本的に、指定された 2 つのドライブ/フォルダーのファイル リストを取得し、それらを比較するアプリケーションを作成したいと考えています。ファイル名とそのサイズを上記のような構造に保存するのが最も簡単な方法だと思いました(そして今でもそうです)。したがって、ファイル名とサイズ、および構造体のコルスに対してもメモリを動的に割り当てる必要があります(これを彼らが呼ぶものだと思います)。