c语⾔中多个源⽂件共享⼀个结构体
引⾔
在⼀个复杂的程序中,c语⾔所有的数据类型往往不能满⾜我们的需要,往往需要⾃⼰定义数据结构。在这⾥会有⼀个问题,当你的代码不存放在⼀个源⽂件中,并且函数之间还有结构体数据之间的传输。那么在不同的源⽂件中如何共享同⼀个结构体呢?
不同源⽂件共享同⼀个结构体
⾸先,我们可能会考虑到的就是在不同的源⽂件中都定义⼀个同⼀个结构体,然⽽,虽然结构体的数据类型⼀样,名称⼀样,但是在编译器编译过程中,他并不会看成是同⼀个数据类型,并且报错(你传⼊的数据类型与所需要的不符)。
⽆论是集成环境还是gcc编译器他的⽅法都是⼀样的。
1. ⾸先定义⼀个头⽂件
//头⽂件 str.h
#ifndef _STR_H_ //ifndef 就是if no define 的缩写就是
//如果没有定义的话就执⾏下⾯的代码,定义
c语言struct头文件//了就不⽤重新定义。_STR_H_这个就是你的
//头⽂件名⼤写加上下划线。
#define _STR_H_
typedef struct {
char *ch;
int length;
} Str;
#endif
2.在每个源⽂件中都引⼊这个头⽂件
#include "str.h"
因为在头⽂件中先有判断,也就不⽤担⼼编译时有多个结构体产⽣。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论