标准c语言与c51的区别,关于单片机语言c51和c语言的区别解决方案

当前位置:我的异常网» 单片机 » 关于单片机语言c51和c语言的区别解决方案

关于单片机语言c51和c语言的区别解决方案

www.myexceptions.net  网友分享于:2013-02-13  浏览:25次

关于单片机语言c51和c语言的区别

在vc++6.0环境下编的树的结构程序在keil环境下却有错误。

如:

#include  

#include  

#include  

char   MenuOne_Date[3][14]={ "1   Module   Text ", "2   Tools ", "3   About   Me "};

//这里和下面的MenuName[]改为unsigned   为什么有错?

char   MenuTools_Date[4][11]={ "1   SetTime ", "2   Dingshi ", "3   MiaoBiao ", "4   Book "};

struct   NodeDate

{

char   seq;

char   MenuName[17];

};

struct   MenuNode

{

NodeDate   data;               ///这里keil   uvision说是有错误的

struct   MenuNode   *parent;

struct   MenuNode   *firstchild;

struct   MenuNode   *nextbrd;

}*Previous,Module_Struct,Tools_Struct,AboutMe_Struct,SetTime_Struct,DingShi_Struct,MiaoBiao_Struct,Book_Struct;

void   BuildNode(struct   MenuNode   *   Self,struct   MenuNode   *Parent_Node,struct   MenuNode   *Firstchild_Node,

struct   MenuNode   *Nextbrd_Node,char   seq,char   MenuName[17])

{

Self-> parent=Parent_Node;

Self-> firstchild=Firstchild_Node;

Self-> nextbrd=Nextbrd_Node;

Self-> data.seq=seq;

strcpy(Self-> data.MenuName,MenuName);

}

void   Initial_MenuStruct(void)

{

//第一层Menu

BuildNode(&Module_Struct,NULL,&SetTime_Struct,&Tools_Struct,10,MenuOne_Date[0]);

BuildNode(&Tools_Struct,NULL,NULL,&AboutMe_Struct,11,MenuOne_Date[1]);

BuildNode(&AboutMe_Struct,NULL,NULL,&Module_Struct,12,MenuOne_Date[2]);

Previous=&Module_Struct;

//Module子层Menu

BuildNode(&SetTime_Struct,&Module_Struct,NULL,&DingShi_Struct,20,MenuTools_Date[0]);

BuildNode(&DingShi_Struct,&Module_Struct,NULL,&MiaoBiao_Struct,21,MenuTools_Date[1]);

BuildNode(&MiaoBiao_Struct,&Module_Struct,NULL,&Book_Struct,22,MenuTools_Date[2]);

BuildNode(&Book_Struct,&Module_Struct,NULL,&SetTime_Struct,23,MenuTools_Date[3]);

}

void   main(void)

{

Initial_MenuStruct();

for(int   i=0;i <3;i++)

{

//cout < data.MenuName < < "           " < data.seq <

printf( "%s\t%d\n ",Previous-> data.MenuName,Previous-> data.seq);

Previous=Previous-> nextbrd;

}

Previous=Module_Struct.firstchild;

for(i=0;i <4;i++)

{

printf( "%s\t%d\n ",Previous-> data.MenuName,Previous-> data.seq);

Previous=Previous-> nextbrd;

}

}

这个程序在vc是没问题的。

但在keil环境下   我删除了这里的main函数(我的工程在其他.c中是有main的),结构体没改,进行编译。出现错误:

struct   MenuNode

{

NodeDate   data;

struct   MenuNode   *parent;

struct   MenuNode   *firstchild;

struct   MenuNode   *nextbrd;

}

error   1:   syntax   error   near   'NodeDate '

error   2:   missing   '; 'before   'data '

请问是什么原因啊   在线等待

------解决方案--------------------

C,不是C++

如果不用typedef 就得用struct MenuNode.

struct MenuNode{

...

};//这里得有个分号

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值