数组问题

[复制链接]
2325|8
 楼主| renyaq 发表于 2011-8-28 18:47 | 显示全部楼层 |阅读模式
#include<reg52.h>
#include<delay.h>
unsigned char table[]={0xf0,0x0f,0xf0,0xf0,0x0f,
0x0f,0x0f,0x0f};
unsigned char i;
void main()
{
  while(1)
  {
for(i=0;i<8;i++)
{
  P2=i;
  P0=*table;
  delay_ms(2);
  table++;
}
  }
}

数组名 是个地址..然后我把table++ 是不是就是数组第二个元素的地址?
 楼主| renyaq 发表于 2011-8-28 19:08 | 显示全部楼层
为什么编译说tabel++有错误呢?
pengf 发表于 2011-8-28 19:25 | 显示全部楼层
什么错呢?
llljh 发表于 2011-8-28 21:24 | 显示全部楼层
table确实是一个指针 但是一个常量 不能改变其值
juventus9554 发表于 2011-8-28 21:28 | 显示全部楼层
unsigned char *p = table;
p++;
司徒老鹰 发表于 2011-8-28 21:33 | 显示全部楼层
table不是变量,当然不可以++
是个常量(固定地址)
老鱼探戈 发表于 2011-8-28 21:40 | 显示全部楼层
5楼正解,定义一个 uchar 型指针指向数组的首地址即可。。
 楼主| renyaq 发表于 2011-8-28 21:47 | 显示全部楼层
哦 知道了..谢谢啦
 楼主| renyaq 发表于 2011-8-28 21:55 | 显示全部楼层
结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

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