打印

问一个C语言的问题

[复制链接]
1192|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
南宫云明|  楼主 | 2013-5-6 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
南宫云明|  楼主 | 2013-5-6 15:16 | 只看该作者
本帖最后由 南宫云明 于 2013-5-6 15:41 编辑

以上两条代码在KEIL里面编码都能通过,且执行后结果是一致的。
但是在IAR1.3(for stm8)里编译第二条代码是通不过的!!!

是不是哪里有问题?

使用特权

评论回复
板凳
followme001| | 2013-5-6 15:43 | 只看该作者
第二条有点问题吧,取第一个元素的地址,应该是point = &buff[0];

使用特权

评论回复
地板
eyesmall| | 2013-5-6 15:51 | 只看该作者
buff  代表数组首地址     &buff  首地址再取地址什么意思   如果是&buff[0]   还是好理解的

使用特权

评论回复
5
ayb_ice| | 2013-5-6 15:54 | 只看该作者
point = &buff[0];
以上写法规范些

等同于
point = buff;

但第一种明显可读性好些

使用特权

评论回复
6
南宫云明|  楼主 | 2013-5-6 16:15 | 只看该作者
我也是一般用第一种写法的。。。不过我看别人写的程序,编译环境是KEIL,用的第二种写法。。。编译居然能通过,而且执行结果居然也相同!!!

KEIL真是一个神奇的软件~~~~

使用特权

评论回复
7
liang7143| | 2013-5-6 16:55 | 只看该作者
本帖最后由 liang7143 于 2013-5-6 16:56 编辑

buff 是地址     
&buff不知道是啥?

point  = &((unsigned char *)0x5000);

这样keil也可以通过,果真神奇

使用特权

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

本版积分规则

22

主题

272

帖子

0

粉丝