117.info
人生若只如初见

C语言中extern详细用法解析

在C语言中,extern是一个关键字,用于声明外部变量和函数。

在C语言中,如果要在一个源文件中使用另一个源文件中定义的全局变量或函数,就需要使用extern关键字来声明这些变量或函数。extern关键字告诉编译器,这些变量或函数是在其他源文件中定义的,而不是当前源文件中定义的。

extern的用法分为两种情况:

  1. 声明全局变量:如果要在一个源文件中使用另一个源文件中定义的全局变量,就需要在使用的源文件中使用extern关键字来声明这个全局变量。例如,如果在源文件A中定义了一个全局变量int a;,在源文件B中要使用这个全局变量,就需要在源文件B中使用extern关键字进行声明:extern int a;。这样,编译器就知道在链接时要从其他源文件中找到这个全局变量的定义。

  2. 声明外部函数:如果要在一个源文件中调用另一个源文件中定义的函数,就需要在使用的源文件中使用extern关键字来声明这个函数。例如,如果在源文件A中定义了一个函数void func();,在源文件B中要调用这个函数,就需要在源文件B中使用extern关键字进行声明:extern void func();。这样,编译器就知道在链接时要从其他源文件中找到这个函数的定义。

需要注意的是,extern关键字只是一个声明,不是定义。它只是告诉编译器某个变量或函数在其他源文件中有定义,而不是在当前源文件中定义。因此,extern关键字不能初始化变量,也不能给函数提供函数体。变量的定义和函数的定义必须在其他源文件中进行。

总结来说,extern关键字的作用是告诉编译器某个变量或函数在其他源文件中有定义,以便在编译和链接时正确地引用这些变量或函数。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe077AzsLBgFVBVw.html

推荐文章

  • c语言goto用法是什么

    在C语言中,goto语句用于从一个位置跳转到另一个位置。它可以用于跳出循环、条件语句或者函数。goto语句的语法如下:
    goto label;
    ...
    label: //...

  • goto在c语言中的运用方法是什么

    goto 语句在 C 语言中允许程序从一个位置跳转到另一个位置。然而,在实际编程中,过度使用 goto 语句通常被认为是一种不好的编程实践,因为它可能导致代码结构混...

  • c语言堆和栈的区别是什么

    C语言中的堆和栈是两种不同的内存分配方式。 栈(Stack):栈是由编译器自动分配和释放的内存区域,用于存储局部变量和函数调用的上下文信息。栈的特点是先进后出...

  • C语言结构体数组怎么定义和使用

    在C语言中,可以通过定义结构体数组来存储多个具有相同数据类型的结构体对象。下面是定义和使用结构体数组的示例代码:
    #include // 定义一个结构体类型

  • java中stringBuilder的用法详解

    StringBuilder是Java中一个可变的字符串类,它是java.lang包中的一个类。它的主要作用是用于字符串的拼接操作,相对于String类的字符串拼接操作,StringBuilder的...

  • windows实现npm和cnpm安装步骤

    要在Windows上安装npm和cnpm,你可以按照以下步骤进行操作: 首先,你需要安装Node.js。你可以从Node.js官方网站 https://nodejs.org/en/ 下载适用于Windows的安...

  • 详解java中BigDecimal精度问题

    在Java中,使用BigDecimal类可以实现高精度的数学运算,防止由于浮点数精度问题导致的计算错误。然而,BigDecimal类的使用也可能会遇到精度问题,这是因为BigDec...

  • Shell脚本的超详细讲解

    Shell脚本是一种文本文件,包含了一系列的命令和控制结构,用于在Unix或类Unix操作系统上执行一系列的任务。下面是Shell脚本的超详细讲解: Shell脚本的创建和执...