C语言中extern详细用法解析

请看下面的完整攻略。

C语言中extern详细用法解析

什么是extern?

extern是C语言中的一个关键字,它的作用是用来声明一个变量或者函数的定义是在别的文件中,需要在本文件中进行引用。

extern的语法格式

在C语言中,extern语法格式如下所示:

extern data_type variable_name;
extern return_type function_name (parameter_list);

其中,data_type表示变量的数据类型,variable_name表示变量名字,return_type表示函数返回值类型,function_name表示函数名字,parameter_list是函数的参数列表。

如何使用extern?

下面通过两个实例来解释extern的使用方法。

实例1:在两个不同的源文件中使用同一个全局变量

我们先在一个源文件中定义一个全局变量,并在另一个源文件中使用这个全局变量。

File1.c

#include <stdio.h>

int global_variable = 100; // 定义全局变量

void Function(void)
{
    printf("The value of the global variable is: %d", global_variable);
}

File2.c

#include <stdio.h>

extern int global_variable; // 声明全局变量

int main(void)
{
    global_variable = 200; // 访问全局变量
    Function(); // 调用File1.c中的函数
    return 0;
}

在这个例子中,我们在File2.c文件中使用了extern来声明global_variable,然后在main()函数中通过该变量来访问全局变量。最后我们调用了Function()函数,该函数在File1.c文件中定义,在这个函数中我们又访问了同一个全局变量。

实例2:在头文件中声明函数并在另一个文件中使用

当我们需要在一个源文件中使用另一个源文件中定义的函数时,我们可以在头文件中声明该函数,并在需要使用的源文件中包含该头文件。

我们来看一下实际的代码。

Function.c

#include "Function.h"

int Add(int a, int b)
{
    return a + b;
}

main.c

#include <stdio.h>
#include "Function.h"

int main(void)
{
    int sum = Add(10, 20);
    printf("10 + 20 = %d", sum);
    return 0;
}

Function.h

#ifndef _FUNCTION_H_
#define _FUNCTION_H_

extern int Add(int a, int b);

#endif /* _FUNCTION_H_ */

在这个例子中,我们定义了一个Add()函数,在Function.h头文件中声明了该函数。然后在main.c文件中包含了Function.h头文件,并调用了Add()函数。

小结

以上就是extern的用法。总结一下,extern是用来实现全局变量和函数在不同文件中共享的关键字。主要用法包括:

  • 在一个源文件中定义全局变量,在另一个源文件中使用该变量时,需要在变量前加上extern关键字,这样就可以使用这个全局变量了。
  • 在头文件中声明函数,包含该头文件的源文件可以使用该函数的定义。

希望这篇文章对您有所帮助,谢谢。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中extern详细用法解析 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++实现日期类(Date类)的方法

    实现C++中的日期类(Date类)可以通过以下步骤完成: 步骤1:设计Date类的成员变量和构造函数 首先,我们需要将日期的年、月和日保存为类的成员变量。可以使用整数表示,但这样不太直观,我们可以通过定义枚举类型来清晰地表示月份。这些成员变量应该声明为私有的,以使其只能通过公共方法访问。 我们还需要一个构造函数来初始化这些成员变量。我们可以使用任何有效的年、…

    C 2023年5月23日
    00
  • C++实现简单计算器功能

    如何使用C++编写简单计算器功能?接下来将介绍详细步骤。 1. 确定要实现的功能 我们需要确定计算器要实现的基本功能,例如加减乘除等运算,以及其他一些常用的数学函数。 2. 设计并实现计算器的类 我们可以使用C++的类来实现计算器。根据需求,我们需要定义与计算器相关的函数和数据成员。 以下是一个示例计算器类的声明: class Calculator{ pub…

    C 2023年5月23日
    00
  • Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序

    以下是详细讲解“Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序”的完整攻略。 简介 在实现Android系统的过程中,需要通过内核驱动程序来实现硬件设备的访问和控制,而在开发内核驱动的过程中需要进行测试。本文将介绍如何在Ubuntu操作系统上测试Android系统的内核驱动程序。 步骤 1. 在Ubuntu操作系统中搭建开…

    C 2023年5月23日
    00
  • C 循环

    当我们需要重复执行某些特定的代码时,循环结构便发挥了重要作用。在 C 语言中,循环语句主要有三种,分别是 for 循环、while 循环和 do…while 循环。下面详细讲解这三种循环语句的使用攻略。 for 循环 for 循环的语法如下: for (初始化表达式; 条件表达式; 更新表达式) { // 待执行的语句 } 其中,初始化表达式只会在循环开…

    C 2023年5月10日
    00
  • C++中的运算符和表达式

    让我来给大家详细讲解一下C++中的运算符和表达式。 运算符 在编程中,我们需要使用各种运算符对数据进行各种操作,C++提供了以下几种运算符: 算术运算符 算术运算符用于基本的算术操作,如加减乘除和取模。具体如下: 运算符 描述 + 加法 – 减法 * 乘法 / 除法 % 取模(求余数) 示例代码如下: #include <iostream> in…

    C 2023年5月24日
    00
  • C++实现日期类(Date)

    下面是实现C++日期类(Date)的完整攻略: 1. 设计类的属性和方法 Date类需要包含年、月、日三个属性,因此我们可以设计如下的类定义: class Date { public: Date(int year = 1970, int month = 1, int day = 1); // 构造函数 void setYear(int year); // 设…

    C 2023年5月23日
    00
  • C语言实现教务管理系统

    C语言实现教务管理系统攻略 什么是教务管理系统? 教务管理系统是用于学校管理各类学生信息、教师信息、考试信息、课程信息等的一款软件。它能够提供方便快捷的教务事务处理,节约时间和劳动力,提高工作效率和精度。 C语言实现教务管理系统的必要性 C是一种高效的、跨平台的编程语言,它在系统开发、游戏开发等领域广泛应用。而在实现教务管理系统这样的软件开发中,C语言具有更…

    C 2023年5月23日
    00
  • php pthreads多线程的安装与使用

    1. 安装php pthreads扩展 首先需要安装pthreads扩展。对于Windows系统,可以从 PECL网站 下载对应的dll文件。对于Linux/Mac OS用户,可以通过pecl安装pthreads扩展,命令如下: pecl install pthreads 安装完成之后,需要在php.ini配置文件中添加扩展: extension=pthre…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部