【发布时间】:2016-03-12 05:00:40
【问题描述】:
我正在分配一个字符串
int main(){
int buf = 1024;
char *input = malloc(sizeof(char*) * buf);
//CODE
scanf("%s", input);
//MORE CODE
free(input);
}
如果我没有将输入字符串设置为任何它可以工作的东西,那么当它设置为某物时它会崩溃。
malloc: *** error for object 0x100f01efa: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
我认为我做对了,但不确定它为什么会崩溃。
【问题讨论】:
-
我假设您使用的是 MORE CODE 部分中的指针。那也很高兴。此处显示的任何内容都不会显示问题。
-
考虑在整个程序中使用valgrind。