今天学习C中,运行了特简单的代码:
void main()
{
char *input;
scanf("%s", input);
}
编译运行,发现输入的时候出错。将input换成数组,发现没问题。折腾了会想到了内存的初始化。才恍然,运来指针没有指向任何内存。
一直对分配和回收内存不理解。特记下。
void main()
{
char *input;
input = (char*)malloc(100 * sizeof(char));
scanf("%s", input);
}