如果想在一个C文件里面引用另外一个C文件里面的变量,怎!么!办?
我们的做法是将变量在H文件中声明为ertern,然后在其他文件中导入这个H文件。
这里需要注意的是,如果导入了H文件,那就不能声明同名的变量了。
另外,H文件中的声明变量必须是在别的文件里面已经声明过的。这里特别强调变!量!
如上图。
左边是H文件,里面声明的一个ppp变量。在右边的文件里面引入H文件。但是!这个ppp变量是不能直接用的。
warning: data definition has no type or storage class [enabled by default]
ppp = 1;
^
这个ppp实际上还是未定义的变量。所以H文件出现不带extern的变量声明是没有意义的。
但是宏定义和typedef都是可以在H文件里面的。如果在H文件里面已经typedef的,在导入H的C文件里面就可以直接用了,而且在次typedef就是重复。
所以这里总结一下H文件里面有什么。
1 #define
2typedef
3extern 变量
4函数声明
网友评论