[AVR单片机] 第一次用指针,麻烦朋友们指点一下错在哪里了 谢谢

[复制链接]
2598|11
 楼主| 中华龙 发表于 2007-12-20 15:19 | 显示全部楼层 |阅读模式
tc, ST, stc, sd, DM
第一次用指针,麻烦朋友们指点一下错在哪里了 谢谢
编译就是通不过  
#include <iom48v>

const char sd[]={1,2,3,4,5,6};

void out_8(char *p,char i)
{
/**********/  
}

void main()
{
char a;
const char *prt;
prt=sd;
a=0;
out_8(prt,a);
while(1);
}
computer00 发表于 2007-12-20 15:44 | 显示全部楼层

报错原因?

wenming 发表于 2007-12-20 17:22 | 显示全部楼层

prt=&sd;

quben 发表于 2007-12-20 18:36 | 显示全部楼层

...

void out_8(const char *p,char i)
{
/**********/  
}
ccxlslr 发表于 2007-12-20 21:19 | 显示全部楼层

类型不匹配吧

const char *prt;


char *p
computer00 发表于 2007-12-20 22:01 | 显示全部楼层

强制类型转换下。

 楼主| 中华龙 发表于 2007-12-20 23:00 | 显示全部楼层

我有本意是把flash中的字符串输出

我的本意是把flash中的字符串输出
 楼主| 中华龙 发表于 2007-12-20 23:04 | 显示全部楼层

这样就可以编译通过

我把out_8(prt,a); 这句屏蔽了之后就可以通过了
computer00 发表于 2007-12-21 00:08 | 显示全部楼层

改: void out_8(const char *p,char i)

 楼主| 中华龙 发表于 2007-12-21 07:33 | 显示全部楼层

这样可以通过

#include <iom48v>

const char sd[]={1,2,3,4,5,6};

void out_8(char *p,char i)
{
/**********/  
}

void main()
{
char a;
char *prt;  //把const 去掉
prt=sd;
a=0;
out_8(prt,a);
while(1);
}
 楼主| 中华龙 发表于 2007-12-21 08:08 | 显示全部楼层

谢谢[computer00]及各位朋友!搞定了

谢谢[computer00]及各位朋友!搞定了
就是类型不一样所至


再次感谢各位朋友
ayb_ice 发表于 2007-12-21 10:41 | 显示全部楼层

形参与实参不一致

您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

70

帖子

0

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