技术总结02_声明与定义

作为一个视觉性动物,总觉得自己的代码很丑。于是在网上看来一些比较规范的代码,其中与我学习时最不同的就是“声明和定义全局变量和函数”。其实代码的规范性真的很重要,不但是学习的时候老师强调,知乎上的大大也三令五申。接下来,介绍一种比较经典的声明与定义方式。

首先,尽管一个全局变量或函数和可以有多出“声明”,但“定义”却最多只能允许出现一次。因为对于全局变量,“定义”是真正分配空间并赋初值的声明(除计算机默认赋值)。对于函数,“定义”是提供函数体的声明。

extern int i;

extern int f();

这些是定义;

int i=0;

int f()

{

        return 1;

}

而这些是声明。

其中解释一下extern的用法。extern可用来声明。extern为一种储存类型,只对数据声明有意义。对于函数的声明,它可以用作一种格式,表明函数的定义可能在另一个源文件中。但是:

extern int f();

int f();

之间没有区别。

最好的安排是在某个相关的.c 文件中定义, 然后在头文件.h 中进行外部声明(extern), 在需要使用的时候, 只要包含对应的头文件即可。定义变量的.c 文件也应该包含该头文件, 以便编译器检查定义和声明的一致性。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容