C51指针问题

[复制链接]
1602|1
 楼主| gxgclg 发表于 2012-1-31 22:04 | 显示全部楼层 |阅读模式
在学习指针过程碰到一个问题,请教大家:
  下面程序,单片机上电运行,第一次调用readRom()函数正常,第二次调用读取的数就不对了,也就是说while(1) 里第二个循环就不对了,第一个循环是正确的,第三次以后每次读出数字跟第二次是一样的,如果把指针*p换为全局的,也就是程序最前面定义,就正确了,把*p换成普通变量,也没问题的,请问这是为什么?
.....
.....
[code=C#][/code]
readRom()
{
unsigned char *p,i;
  for(i=0;i<8;i++)  

  {
  *p=readbyte(); //读取一个字节
  lcd_dis(*p); //显示到LCD


  }
}

main()
{
while(1)
{
readRom();
delayms(200); //延时一会
}}
sinadz 发表于 2012-1-31 22:07 | 显示全部楼层
unsigned char *p,i;
  for(i=0;i<8;i++)   
  {
  *p=readbyte(); //读取一个字节

P没有指定空间。。。

程序乱写到别的地方了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1653

帖子

1

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