int main()
{
char* in = (char *)malloc(sizeof(char)*100);
in = "Sort of Input String with LITERALS AND NUMBERS\0";
free(in);
return 0;
}
なぜこのコードがこのエラーで機能しないのですか?Cでfree()が動作しないのはなぜですか?
pointers(10144,0x7fff78a82000) malloc: *** error for object 0x10ba18f88: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
bash: line 1: 10144 Abort trap: 6 '/Users/.../Documents/term2_sr/pointers'
[Finished in 0.1s with exit code 134]
'in'は名前付きポインタ変数です。したがって、それは再割り当てされません。また、文字列リテラルは(再)割り当てられていません。 – Olaf
@Olaf申し訳ありませんが、 "再割り当て" –