私はiOSアプリを持っています。2D メモリを割り当ててから、free 関数を使用して割り当てを解除します。これは解放への正しい方法ですか?最近、無料のステートメントを指してクラッシュしました。buf[i] をループで解放する必要がありますか?
+(int**) initArr:(int) Nr:( int) Nc
{
int ** buf;
buf = calloc(Nr,sizeof(int*));
for(int i = 0; i < Nr; i++)
{
buf[i] = calloc(Nc,sizeof(int));
}
//Funny Processing
//Release
for(int i = 0; i < Nr; i++)
free(buf[i]);
free(buf);
}
ここにエラーメッセージがあります
2 libsystem_c.dylib 0x328b87ec _sigtramp + 48
3 libsystem_c.dylib 0x328ae20e pthread_kill + 54
4 libsystem_c.dylib 0x328a729e abort + 94
5 libsystem_c.dylib 0x32862380 free + 380
6 MyApp 0x0009be52 +[clsGlobalHelper resizeImageAvg:::] (clsGlobalHelper.m:300)