c语言中多个源文件共享一个结构体

引言

  • 在一个复杂的程序中,c语言所有的数据类型往往不能满足我们的需要,往往需要自己定义数据结构。在这里会有一个问题,当你的代码不存放在一个源文件中,并且函数之间还有结构体数据之间的传输。那么在不同的源文件中如何共享同一个结构体呢?

不同源文件共享同一个结构体

  • 首先,我们可能会考虑到的就是在不同的源文件中都定义一个同一个结构体,然而,虽然结构体的数据类型一样,名称一样,但是在编译器编译过程中,他并不会看成是同一个数据类型,并且报错(你传入的数据类型与所需要的不符)。
  • 无论是集成环境还是gcc编译器他的方法都是一样的。
  1. 首先定义一个头文件
//头文件 str.h
#ifndef _STR_H_                   //ifndef 就是if no define 的缩写就是
								  //如果没有定义的话就执行下面的代码,定义
								  //了就不用重新定义。_STR_H_这个就是你的
								  //头文件名大写加上下划线。
#define _STR_H_
typedef struct {
	char *ch;
	int length;

} Str;
#endif

2.在每个源文件中都引入这个头文件
#include "str.h"

  • 因为在头文件中先有判断,也就不用担心编译时有多个结构体产生。
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值