c语言关键字extern作用,c++的extern关键字

  c语言关键字extern作用,c++的extern关键字

  在C语言中,修饰符extern用在变量或函数的声明之前,以标识该变量或函数在其他文件中的定义,当遇到该变量或函数时,提示编译器在其他文件中查找其定义。有几种方法可以使用extern关键字,我们将在下面解释。

  (1)extern修改变量的声明。extern关键字可用于修改变量,表示变量已在其他文件中声明。例如,如果我们在file1.c中声明变量int var,然后我们需要在file2.c中使用它,我们可以在file2.c中声明extern int var,然后我们可以在file2.c中使用它。

  很明显,所有用extern关键字修改的变量都是全局变量,因为引用其他文件中的局部变量是没有意义的,也超出了局部变量的范围。

  说到作用域,我们需要解释一下,虽然用extern关键字修饰的变量都是全局变量,但是如果extern int var声明在函数体中,那么它的作用域就在函数体中。其实这和一般变量的范围是一样的。

  (2)extern修改函数声明。本质上,使用extern关键字的函数和变量没有区别。如果我们在file1.c中定义了函数void fun(int var ),我们想在file2.c中应用它,那么我们可以在file2.c中声明extern void fun(int var ),用法和file1.c中没什么区别。

  当然,在其他文件中应用函数更常见的方式是引用相应的头文件。那么使用extern关键字和直接引用头文件有什么区别呢?首先引用头文件是一种预处理,而extern声明应该是链接级别的实现。其次,使用头文件进行批量引用自然更方便,但如果只使用个别函数,当然使用extern更直接。

  (3)extern用于链接指定。extern一般用于混合编程。如果要在C程序中调用C代码,需要使用extern“C”来声明,这样连接器就会使用C的规范来链接这部分代码。

  (4) extern和static。从某种意义上说,extern关键字是static关键字的反义词。extern关键字用于声明要调用的外部变量和函数。而static关键字只是声明给自己用的。当然,当你使用static关键字声明一个变量时,你也定义了这个变量。当extern声明一个变量时,它只是一个声明,因为该变量已经在别处定义了。

  欢迎关注:

  想更方便及时的阅读相关文章,请关注我的微信微信官方账号【木南创智】

  转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: