C语言 关键字 | extern

C语言extern关键字

1.使用场景有两种情况

一种是对变量而言,另一种是对函数而言

1): 对变量而言

变量的声明有两种情况:一 是需要建立存储空间的,不用加extern;另外一种是不需要建立存储空间的,需要加extern。

如果想在本源文件中使用另外一个源文件的变量,就需要在使用前用 extern声明该变
量,或者在头文件中用extern声明该变量

2):对函数而言

对函数而言,如果想在本源文件中使用另一个源文件的函数,就需要在使用前对函数进行
声明,声明函数加不加extern都没关系,所以在文件中函数不用加extern。

2.注意事项

  • 全局变量:
    当你要引用一个全局变量时,extern关键词必须不能忘, 如果变量无 
    extern 修饰且没有显式的初始化,同样也变成了变量的定义,因此全局
    变量在外部使用时,声明必须使用extern,如不加extern,编译器
    在此标记存储空间,在执行时加载内存并初始化为0。注意以下几种全局变
    量:
    
int a ;//定义一个全局变量a
extern int a ;//声明一个全局变量a

int a = 3;//定义一个全局变量并初始化为3
extern int a = 3;//定义一个全局变量并初始化为3
/******************************************************************
*举例验证全局变量被编译器初始化为0
******************************************************************/
#include <stdio.h>

int a;
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值