二维数组首地址可以是负值吗?

2019-03-24 19:38发布

代码如下:  当i=0时,会调用DSPUP(&zuozhe[i-1][32],1).  难道此时为:DSPUP(&zuozhe[-1][32],1)?   /***************************左屏显示信息*********************************/
void fun40()
{       for(i=0;i<4;i++)
       {
       SetPage(0);
       SetColumn(i<<4);                           // i<<4  0行0列
       DspUp(&zuozhe[i-1][32],1);       SetPage(1);
       SetColumn(i<<4);                          // i<<4
       DspDown(&zuozhe[i-1][32],1);
       
       SetPage(2);
       SetColumn(i<<4);                           // i<<4
       DspUp(&wangshengwen[i-1][32],1);        SetPage(3);
       SetColumn(i<<4);                          // i<<4
       DspDown(&wangshengwen[i-1][32],1);
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
jishuaihu
2019-03-25 04:52
定义好了一个8位或者16位的变量以后,任何运算都是可以的,只不过他的范围就定了,比如8位的只能是0-255。此外一个数组定义完了他的范围也就定了,比如a[3][2];
在这样的情况下,i=0的时候i-1仍然可以计算,结果是255,但a[255][0]却超出了范围,因此是不行的,当然如果你的数组长度达到了255就没有问题了。

一周热门 更多>