结构体重复定义的问题!!引用
我在game.h中写了structSNAKE{ucharHead_X;//舌头坐标ucharHead_Y;ucharTail_X;//蛇尾的坐标ucharTail_Y;u...
我在game.h中写了
struct SNAKE
{
uchar Head_X;//舌头坐标
uchar Head_Y;
uchar Tail_X;//蛇尾的坐标
uchar Tail_Y;
uchar Direction;//移动方向
uint Dot_Cnt;//蛇身长度
};
struct SNAKE snakedata;
game.c中引用编译没有问题。
但是在main.c中,引用了snakedata.Head_Y,出现了
Error[Pe020]: identifier "SNAKE" is undefined D:\MSP程序\play\tanchise\main.c 5
的问题;
我在main.c前面写了include"game.h",和extern SNAKE snakedata;
或者我不要extern SNAKE snakedata;这一句
出现了
Error[e27]: Entry "snakedata" in module game ( D:\MSP程序\play\tanchise\Debug\Obj\game.r43 ) redefined in module main ( D:\MSP程序\play\tanchise\Debug\Obj\
重复定义这一问题。
求大神指教!!!!!!!! 展开
struct SNAKE
{
uchar Head_X;//舌头坐标
uchar Head_Y;
uchar Tail_X;//蛇尾的坐标
uchar Tail_Y;
uchar Direction;//移动方向
uint Dot_Cnt;//蛇身长度
};
struct SNAKE snakedata;
game.c中引用编译没有问题。
但是在main.c中,引用了snakedata.Head_Y,出现了
Error[Pe020]: identifier "SNAKE" is undefined D:\MSP程序\play\tanchise\main.c 5
的问题;
我在main.c前面写了include"game.h",和extern SNAKE snakedata;
或者我不要extern SNAKE snakedata;这一句
出现了
Error[e27]: Entry "snakedata" in module game ( D:\MSP程序\play\tanchise\Debug\Obj\game.r43 ) redefined in module main ( D:\MSP程序\play\tanchise\Debug\Obj\
重复定义这一问题。
求大神指教!!!!!!!! 展开
展开全部
我见过这样的题,没看懂你的意思,不过我看这样说吧,
struct
a
{...
}b;
我打。。。的地方表示你可以在那里添加所有的数据形式的定义,比如,int
a;char
a[10];等等;
而b表示变量名。就如同int
a的a一样,只是一个变量标示符,他就是一个结构体变量了。当你使用typedef使,它表示的是枚举类型,功能如同宏定义一样,
使用他的时候方法如下:
首先
写出你要表示的变量类型。列如:int
a;然后在int的前面加上typedef,
typedef
int
a;然后把变量名a
改变成你要使用的表示符如
pp;
现在就变成
typedef
int
pp;
当你要在定义其他的变量是int型的时候,你就可以这样定义了
pp
b;
这里的b就是变量名了。注意枚举类型它并不产生新的变量类型,只是一种替代作用。我在给你举个列子吧
typedef
struct
a{
int
s;
char
p[10];
}
num;
num
n;
这时候n就是
struct
a
类型的结构体变量了。不知道你懂没有。。。
struct
a
{...
}b;
我打。。。的地方表示你可以在那里添加所有的数据形式的定义,比如,int
a;char
a[10];等等;
而b表示变量名。就如同int
a的a一样,只是一个变量标示符,他就是一个结构体变量了。当你使用typedef使,它表示的是枚举类型,功能如同宏定义一样,
使用他的时候方法如下:
首先
写出你要表示的变量类型。列如:int
a;然后在int的前面加上typedef,
typedef
int
a;然后把变量名a
改变成你要使用的表示符如
pp;
现在就变成
typedef
int
pp;
当你要在定义其他的变量是int型的时候,你就可以这样定义了
pp
b;
这里的b就是变量名了。注意枚举类型它并不产生新的变量类型,只是一种替代作用。我在给你举个列子吧
typedef
struct
a{
int
s;
char
p[10];
}
num;
num
n;
这时候n就是
struct
a
类型的结构体变量了。不知道你懂没有。。。
展开全部
更多追问追答
追问
还是不行啊。。这是game.h里面的。
struct SNAKE
{
。。省略
};
extern SNAKE snakedata;
这是game.c里面的::
struct SNAKE snakedata;
现在编译game.c就会出现:
Error[Pe020]: identifier "SNAKE" is undefined D:\MSP程序\play\tanchise\game.h 23
追答
extern SNAKE snakedata;
改成extern struct SNAKE snakedata;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询