| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 708 人关注过本帖
标题:指针初始化为0的怪现象如何解释?
收藏  订阅  推荐  打印 
lixang
Rank: 3Rank: 3
等级:中级会员
帖子:229
积分:2390
注册:2006-7-15
指针初始化为0的怪现象如何解释?

#include<iostream>
using namespace std;

int main()
{
int * a=0; int * b=0;
*a=10; * b=20;
cout<<*a<<" "<<*b<<endl;
return 0;
}
指针初始化为0的怪现象如何解释
对于这个程序?

请解释此现象指针初始化为0实质所在?


搜索更多相关主题的帖子: 指针  现象  int  解释  std  
2007-8-3 13:20
alleks
Rank: 1
等级:新手上路
帖子:18
积分:290
注册:2007-8-3

应该就是初始化为空指针NULL吧


编程真辛苦啊^^^^^
2007-8-3 13:30
leeco
Rank: 4
等级:高级会员
威望:8
帖子:870
积分:9662
注册:2007-5-10

有什么怪现象?

2007-8-3 14:41
不以物喜
Rank: 1
等级:新手上路
帖子:17
积分:270
注册:2007-8-1

a ,b 在栈中,并未分配空间,正确代码 如下:
#include<iostream>
using namespace std;

int main()
{
int * a=0;
int * b=0;
a=new int;
*a=10;
b=new int;
*b=20;
cout<<*a<<" "<<*b<<endl;
return 0;
}


2007-8-3 17:08
百年不亮
Rank: 4
等级:高级会员
威望:8
帖子:781
积分:8160
注册:2006-4-14

空指针赋值,严重的错误!

闭门读书中,有事发邮件到liunanst@gmail.com
2007-8-3 17:13
aipb2007
Rank: 12Rank: 12Rank: 12
来自:CQU
等级:贵宾
威望:40
帖子:2881
积分:29414
注册:2007-3-18

空指针表示没有保存任何关联地址。
对一个0x0的地址解引用是为定义行为,所以赋值错误。

[此贴子已经被作者于2007-8-3 17:28:59编辑过]


Fight  to win  or  die...
2007-8-3 17:28
不以物喜
Rank: 1
等级:新手上路
帖子:17
积分:270
注册:2007-8-1

同意五楼的


2007-8-3 17:28
lixang
Rank: 3Rank: 3
等级:中级会员
帖子:229
积分:2390
注册:2006-7-15

a ,b 在栈中,并未分配空间,正确代码 如下:
#include<iostream>
using namespace std;

int main()
{
int * a=0; //nt * a=0与int A=0; (a ,A )在栈中的区别如何呢????????????
int * b=0;
a=new int;
*a=10;
b=new int;
*b=20;
cout<<*a<<" "<<*b<<endl;
return 0;
}
2007-8-3 21:56
不以物喜
Rank: 1
等级:新手上路
帖子:17
积分:270
注册:2007-8-1

存的都是0,但一个是地址,一个是数据
至于到底是地址还是数据,由“*“区分
我认为是这样。。。。

2007-8-4 19:44
blueboy82006
Rank: 12Rank: 12Rank: 12
来自:幻想世界
等级:版主
威望:16
帖子:1212
积分:12084
注册:2007-7-23

int *a=0 //是声明一个NULL的指针,0的意义不是赋值,是让其指向空的地址,这种方式是为防止此指针的误用.
int a=0 //就是一般的声明和赋初值.
要特别注意5&6楼说的问题啊

[此贴子已经被作者于2007-8-4 20:10:47编辑过]


闭关修炼中!......
2007-8-4 20:09
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.091837 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved