C语言中,我想在一个函数里用另一个函数的变量怎么办??

如题所述

已经有人给你那么多方法了。。。我还是建议不要用extern去使全局变量,也不要把变量定义在头文件,然后用include把变量包含进其它源文件使用,不要这样做!这是菜鸟的做法!
正确的做法是这样的,你把变量定义在相应的源文件中,定义成全局的,然后写一个接口去读取,充分利用封装的思想!我举个例子哈:
加入你的变量名是 A,定义在abc.c中。。。
这时候你的正确做法是 在abc.c中写一个函数,命名为 int GetAValue(void) { return A; }

这才是大神的做法!这样的话如果是在同一个源文件中,可以直接访问全局变量达到目的。如果是在不同的源文件的其它函数,就调用你写好的 GetAValue()函数去读取!
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-15
通过函数参数的形式传递,全局变量和静态变量也可以。临时变量是不行的追问

我把这个变量做成一个头文件,然后每个子函数都#include 为什么编译还是有错?

第2个回答  2013-07-15
1,设置全局变量,两个函数公用
2,某一个函数用引用类型参数,将参数内容传递出来追问

我把这个变量做成一个头文件,然后每个子函数都#include 为什么编译还是有错?

第3个回答  2013-07-15
设置成全局变量喽追问

我把这个变量做成一个头文件,然后每个子函数都#include 为什么编译还是有错?

追答

能不能把编译的错误信息贴出来啊?

追问

union
{
u16 buf;
struct
{
u8 temp_inter; //内部温度
u8 temp_exter; //外部温度
}bits;
}ad_val;
#define temp_inter ad_val.bits.temp_inter
#define temp_exter ad_val.bits.temp_exter

相似回答