贯穿案例——构建标准IO函数库—1

本文深入探讨了C语言中头文件的正确使用方法,包括如何避免重复定义及extern关键字的应用,同时介绍了assert()函数在调试过程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 在定义头文件时避免重复定义

#ifndef  _XX_H_

#define  _XX_H_

...

#endif

tips:"."用"_"代替,且在开头和结尾处加"_"。

 

  • extern

extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。

 

最好不要在头文件中定义变量

关键字----extern

 修饰变量:只能用于扩展没有被static关键字修饰的全局变量。
默认情况下全局变量只能在定义它的文件中使用(从定义该全局变量开始到所在文件的文件尾),
但如果在另一个文件中将这个变量声明为外部变量,那么这个变量的作用域将被扩展到另外一个文件中。
也可以在定义全局变量之前声明该变量,从而在文件中可以在定义该全局变量前使用该全局变量。

修饰函数:在定义函数时如果在函数首部的最左端冠以关键字e  xtern,则表示此函数是外部函数,可供其他文件调用。C语言规定,如果在定义函数时省略extern,则隐含为外部函数。

extern“C”的用法,属于 C++的范畴

 

  • 断言

assert()函数,如果传入的函数为0,则断言触发,运行崩溃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值