打印

多个C文件共用结构体

[复制链接]
331|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
博斯|  楼主 | 2018-7-11 20:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
应该分为3个文件,一个头文件存储结构体定义供其它.c文件使用,一个.c文件中定义全局变量,另一个.c文件中声明使用全局变量,并通过函数修改该全局变量

a.h //存放结构体定义
#ifndef _A_H
#define _A_H 1
struct motor
{
INT16S goal_speed;//
INT16S current_speed;//
};
#endif

def.c //文件用来定义全局变量(注意不是声明,定义是要分配内存的)
#include "a.h"
struct motor mymotor;
//加入其它处理代码

call.c //用来实现操作全局变量的函数
#include "a.h"
extern struct motor mymotor; //这是引用外部变量的前置声明,否则直接使用单独编译该文件时会提示变量未定义
void refresh_status(struct motor *ptr);//状态刷新函数
{
INT16S i;
i=ptr->goal_speed - ptr->current_speed;//这里做减法运算
}

调用方式refresh_status(&mymotor);
原文:http://zhidao.baidu.com/link?url ... KlPHOWwF3mShuPRgSo_

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

412

主题

412

帖子

0

粉丝