C语言编程 extern关键字的使用,关于外联属性的浅述

关键字 extern

该关键字用在变量名或函数名前,是用来引用在别处定义的变量或函数。

在一个工程中,创建两个文件。

我简单创建了“new_test_2023”和“test_ceshi”两个源文件,

在第一个源文件内,编写的是如下代码:

int main()
{
	extern int chapters;
	extern char arr[];
	extern float price;
	printf("章节数:%d\n书名:%s\n价格:%.2f\n", chapters, &arr, price);
	return 0;
}

第二个源文件内,则是编写的第一个源文件所需要的三个变量:

int chapters = 16;
char arr[]= "月亮与六便士";
float price = 25.5;

这个时候,运行该工程,输出结果:

所以可以得出结论,extern关键字,可以引用一个文件外的其他变量。

 外部链接属性

只有具有外部链接属性的变量,才能被关键字extern引用。当然,也不是所有的变量,都具有外部链接属性的。

全局变量是具有外部链接属性的,如果全局变量被static修饰,外部链接属性就变成了内部链接属性,其他源文件是没有办法通过这个链接找到这个符号的,也就是说,static修饰后的局部变量只能在自己所在的.c文件内部使用。

函数也是同理,函数本身是具有外部链接属性的,其他源文件想要使用函数,正确使用声明就可以,但是如果函数被static修饰后,外部链接属性就变成了内部链接属性,这个时候函数只能在自己所在的.c文件内部使用,不能在外部使用。

同时,值得一提的是,局部变量无链接属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值