LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 666|回复: 6

简单的指针问题

[复制链接]
发表于 2004-10-15 22:39:40 | 显示全部楼层 |阅读模式

  1.    char* name;
  2.    cin>>name;
  3.    cout<<"hello,"<<name<<endl;
复制代码

自学考试的C++教材上的例子。
我觉得错了。
编译可以通过,但运行时说是段错误。
教材上到处是类似的例子。
cin>>name里的name应该是*name的地址,
如果用户输入一些字符,比如fbuilder,
并不是地址的形式,
就会出错,
我这么理解对吗?

谢谢。
发表于 2004-10-15 23:07:45 | 显示全部楼层
name是指针,但是没有分配空间,所以会出现段错误
 楼主| 发表于 2004-10-18 11:01:57 | 显示全部楼层
cin>>name里的name应该是*name的地址

看来这句理解错了。
name是哪个变量的地址,程序并没有定义,
只是定义了name所指向的变量的类型是char.
发表于 2004-10-18 11:10:15 | 显示全部楼层
这个name是个野指针。
 楼主| 发表于 2004-10-18 12:38:40 | 显示全部楼层
最初由 kj501 发表
这个name是个野指针。

什么样的指针是野指针?
发表于 2004-10-18 14:15:46 | 显示全部楼层
没有初始化的
 楼主| 发表于 2004-10-18 19:16:41 | 显示全部楼层
谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表