[ZLG-ARM] 帮忙看看!!

[复制链接]
2480|9
 楼主| zbo210 发表于 2007-4-6 21:52 | 显示全部楼层 |阅读模式
U8&nbsp;b&nbsp;;<br />U8&nbsp;Rd(U8&nbsp;*data)<br />{<br />&nbsp;&nbsp;U8&nbsp;&nbsp;&nbsp;c=11;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;c&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*data&nbsp;=&nbsp;b&nbsp;;<br />}<br /><br /><br />void&nbsp;Main()//i2c_test<br />{&nbsp;&nbsp;<br />&nbsp;&nbsp;U8&nbsp;*p1&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rd24C040(p1);<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%2x&nbsp;&quot;,*p1);<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%2x&nbsp;&quot;,b);<br />}<br />怎么结果不一样呢,一个0&nbsp;&nbsp;一个11<br />ADS编译的
平常人 发表于 2007-4-6 21:56 | 显示全部楼层

请问p1指向哪里? nowhere!

  
王紫豪 发表于 2007-4-6 22:01 | 显示全部楼层

你c基础太差。。。

*p1声明后,还是个NULL,你就给他赋值??
 楼主| zbo210 发表于 2007-4-6 22:01 | 显示全部楼层

这样做不可以吗?

应该有指向的地方的呀
王紫豪 发表于 2007-4-6 22:11 | 显示全部楼层

re

你还是没有理解指针的含义,当你声明&nbsp;<br /><br />U8&nbsp;*p1&nbsp;&nbsp;;<br /><br />后,p1还没有赋值,还是野指针,也就是说还没有说明他要指向哪个空间。这时候你如果给他赋值的话,他存哪里去?一般的编译器都会有警告或者出错...好久不用ADS了,不知道它会反馈什么信息。
 楼主| zbo210 发表于 2007-4-6 22:16 | 显示全部楼层

你c基础太差。。。??

王紫豪,可能俺的c不很好,不过你指出的肯定错的,p1不是null
平常人 发表于 2007-4-6 22:23 | 显示全部楼层

p1不是null更危险,如果它指向一个关键的地方,后果不堪设

  
xwj 发表于 2007-4-6 22:24 | 显示全部楼层

王紫豪是对的

  
王紫豪 发表于 2007-4-6 22:26 | 显示全部楼层

re

p1不是NULL,呵呵!!具体可以看我5楼说的,反正就是这个意思!
yuanjian79 发表于 2007-4-6 22:53 | 显示全部楼层

碰到问题,或则请教别人,先怀疑自己。LZ确实没搞清楚指针

碰到问题,或则请教别人,先怀疑自己。LZ确实没搞清楚指针。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部