一个.c文件中声明全局变量的结构体,另一个.c的文件中调用函数修改它

结构体:
struct motor
{
INT16S goal_speed;//
INT16S current_speed;//
};
extern struct motor X,Y;//全局变量

调用函数:refresh_status(&X);
函数:
void refresh_status(struct motor *ptr);//状态刷新函数
{
INT16S i;
i=ptr->goal_speed - ptr->current_speed;//这里做减法运算
}
麻烦大家看下哪里出问题了呢?谢谢了!
换成i=X.goal_speed - X.current_speed;也不行..

MMMHUHU
浏览 1561回答 3
3回答

扬帆大鱼

1 没有定义结构体变量结构体类型声明和变量声明可以写到头文件中需要在 .c 文件中定义变量struct motor X,Y;//全局变量2 没有结构体类型声明,可以包含一下结构体声明的头文件

吃鸡游戏

//a.c#include <stdlib.h>#include <stdio.h>int s;extern void fun2();void main(){fun2();printf("s=%d",s);getchar();}//b.c#include <stdlib.h>#include <stdio.h>extern int s;void fun2(){s=1+3;}
打开App,查看更多内容
随时随地看视频慕课网APP