打印

数组数据丢失

[复制链接]
1303|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sjc_sugar|  楼主 | 2011-12-22 09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了一个工程,定义缓存INT8U  TMP[]={0};INT8U  PRE[]={0};显示两位数据,在数组引用时如下赋值: 一个函数中TMP[0]=val2+48(转换ASCII码),TMP[1]=val1+48;另一个函数中PRE[0]=val2+48,PRE[1]=val1+48;发现TMP传递数据有丢失,显示不正常PRE显示正常;但如果定义INT8U TMP[]={0,0},数据全部显示正常,不理解出错原因,求解答或者提一些建议!谢谢!

相关帖子

沙发
ayb_ice| | 2011-12-22 10:06 | 只看该作者
越界了,不出问题才怪啊

使用特权

评论回复
板凳
icecut| | 2011-12-22 11:13 | 只看该作者
定义一个数数组存2个数...你 以为 一块钱能花2次?
第二个数必然覆盖下一个内存位置

使用特权

评论回复
地板
liang7143| | 2011-12-22 12:31 | 只看该作者
INT8U  TMP[]={0};
很明显TMP数组长度为 1

INT8U TMP[]={0,0};
数组长度为 2

LZ自己掂量吧

使用特权

评论回复
5
sjc_sugar|  楼主 | 2011-12-23 10:38 | 只看该作者
3# wukunshan
我以为数组可以自己扩展,但是第二组数组显示正常,是偶然的么?

使用特权

评论回复
6
sjc_sugar|  楼主 | 2011-12-23 10:38 | 只看该作者
5# liang7143
我以为数组可以自己扩展,但是第二组数组显示正常,是偶然的么?

使用特权

评论回复
7
liang7143| | 2011-12-25 12:24 | 只看该作者
5# liang7143  
我以为数组可以自己扩展,但是第二组数组显示正常,是偶然的么?
sjc_sugar 发表于 2011-12-23 10:38


这个 不是偶然,是必然
一个函数中TMP[0]=val2+48(转换ASCII码),TMP[1]=val1+48;另一个函数中PRE[0]=val2+48,PRE[1]=val1+48;
这里可以看出
TMP只是操作到了TMP[1]
定义长度为2的数组 是没有问题的

使用特权

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

本版积分规则

0

主题

70

帖子

1

粉丝