开发者社区 问答 正文

C++ 读取输入流到字符指针

int main()
{
char *c;
cin>>c;
cout<return 0;
}
程序会崩溃,但是把
char *c;
改成 char *c = new char[1];
就可以运行,求大神给解释一下。

展开
收起
a123456678 2016-03-04 18:21:35 2332 分享 版权
1 条回答
写回答
取消 提交回答
  • 可以new,也可以定义一个数组缓冲区。错就错在你的指针的初始化上面。可以在定义时给它直接赋值,比如:char* p = "《加州旅馆》"。这样系统就会自动为其分配空间,也可以用new,自定义分配空间,然后在输入的时候为其赋值,这样还有一个问题,就是在return 之前,得做释放,也就是delete[],所以建议用自定义数组缓冲区。

    2019-07-17 18:52:43
    赞同 展开评论