C语言extern关键字小总结

本文是对C语言extern关键字的总结,介绍了extern的链接属性、作用和使用场景。extern用于声明在其他文件中定义的全局变量或函数,允许不同源文件间共享同一实体。文章还提到了extern的使用注意事项,包括其在标识符多次声明时的影响,以及在代码块内声明为extern的全局变量的特殊性。最后,通过程序验证和《Pointers on C》的习题,探讨了extern的实际应用和可能遇到的编译问题。
摘要由CSDN通过智能技术生成

最近复习C语言基础,将extern的一些知识点总结下来

参考资料是<C和指针>第三章数据

博客转:https://blog.csdn.net/qq_27664167/article/details/82859852

1.作用域/链接属性/存储类型(<C和指针>3.5,3.6,3.7)

    作用域:标识符的作用域就是程序中该标识符可以被使用的区域,具体分为代码块作用域(局部变量),文件作用域(全局变量),函数作用域与原型作用域,在此不细说

    存储类型:变量的存储类型是指存储变量值的内存类型,变量的存储类型决定变量何时创建,何时销毁以及它的值将保持多久,说白了存储类型包括存储位置和生命周期,在此不细说

    链接属性:标识符的链接属性(linkage)决定如何处理在不同文件中出现的标识符

    链接属性一共三种,external(外部),internal(内部),none(无)

    没有链接属性的标识符总是被当做单独的个体,也就是该标识符的多个声明被当做独立不同的实体(局部变量)

    属于internal链接属性的标识符在同一源文件内的所有声明中都指同一个实体,但位于不同源文件的多个声明则分属不同的实体(static修饰全局变量)

    属于external链接属性的标识符不论声明多少次,位于几个源文件都表示同一个实体(全局变量与函数)

2.关键字extern

    关键字extern用于在声明中修改标识符的链接属性,一般而言,它为一个标识符指定ex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值