打印
[ZLG-ARM]

帮忙看看!!

[复制链接]
1648|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zbo210|  楼主 | 2007-4-6 21:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
U8 b ;
U8 Rd(U8 *data)
{
  U8   c=11;
       b = c ;
       *data = b ;
}


void Main()//i2c_test
{  
  U8 *p1  ;
         Rd24C040(p1);
    printf("%2x ",*p1);
    printf("%2x ",b);
}
怎么结果不一样呢,一个0  一个11
ADS编译的

相关帖子

沙发
平常人| | 2007-4-6 21:56 | 只看该作者

请问p1指向哪里? nowhere!

使用特权

评论回复
板凳
王紫豪| | 2007-4-6 22:01 | 只看该作者

你c基础太差。。。

*p1声明后,还是个NULL,你就给他赋值??

使用特权

评论回复
地板
zbo210|  楼主 | 2007-4-6 22:01 | 只看该作者

这样做不可以吗?

应该有指向的地方的呀

使用特权

评论回复
5
王紫豪| | 2007-4-6 22:11 | 只看该作者

re

你还是没有理解指针的含义,当你声明 

U8 *p1  ;

后,p1还没有赋值,还是野指针,也就是说还没有说明他要指向哪个空间。这时候你如果给他赋值的话,他存哪里去?一般的编译器都会有警告或者出错...好久不用ADS了,不知道它会反馈什么信息。

使用特权

评论回复
6
zbo210|  楼主 | 2007-4-6 22:16 | 只看该作者

你c基础太差。。。??

王紫豪,可能俺的c不很好,不过你指出的肯定错的,p1不是null

使用特权

评论回复
7
平常人| | 2007-4-6 22:23 | 只看该作者

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

使用特权

评论回复
8
xwj| | 2007-4-6 22:24 | 只看该作者

王紫豪是对的

使用特权

评论回复
9
王紫豪| | 2007-4-6 22:26 | 只看该作者

re

p1不是NULL,呵呵!!具体可以看我5楼说的,反正就是这个意思!

使用特权

评论回复
10
yuanjian79| | 2007-4-6 22:53 | 只看该作者

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

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

29

帖子

0

粉丝