打造全能开发者,开启技术无限可能

c言语extern,什么是extern关键字?

时间:2024-12-30

分类:后端开发

编辑:admin

在C言语中,`extern`关键字用于声明一个变量或函数在其他当地现已界说了。这意味着`extern`关键字声明的变量或函数的存储空间在其他文件中,而不是在当...

在C言语中,`extern` 关键字用于声明一个变量或函数在其他当地现已界说了。这意味着`extern`关键字声明的变量或函数的存储空间在其他文件中,而不是在当时文件中。运用`extern`关键字能够让咱们在多个文件中同享同一个变量或函数。

运用`extern`关键字的原因

1. 模块化编程:经过运用`extern`关键字,咱们能够将代码分割成多个模块,每个模块都能够包括自己的变量和函数。这有助于代码的安排和保护。2. 防止重复界说:当咱们需求在多个文件中运用同一个变量或函数时,运用`extern`关键字能够防止重复界说,然后削减过错和抵触。3. 跨文件拜访:`extern`关键字答应咱们拜访在其他文件中界说的变量和函数,这关于完结杂乱的程序结构十分有用。

示例

假定咱们有两个文件:`main.c` 和 `utils.c`。

在 `utils.c` 文件中,咱们界说了一个全局变量和一个函数:

```c// utils.c

int globalVar = 10;

int add { return a b;}```

在 `main.c` 文件中,咱们需求运用 `utils.c` 中界说的变量和函数。为此,咱们需求在 `main.c` 文件中声明这些变量和函数:

```c// main.c

include

extern int globalVar; // 声明外部变量extern int add; // 声明外部函数

int main { printf; printfqwe2; return 0;}```

为了使 `main.c` 能够找到 `utils.c` 中界说的变量和函数,咱们需求在编译时链接这两个文件。这通常是经过在编译指令中指定两个文件的称号来完结的。

注意事项

1. 当运用`extern`关键字声明一个变量时,该变量有必要是全局变量。局部变量不能被`extern`关键字声明。2. 当运用`extern`关键字声明一个函数时,不需求指定函数的回来类型和参数类型。编译器会主动从函数界说中获取这些信息。3. 运用`extern`关键字声明的变量和函数有必要在其他当地界说。假如未界说,则会导致链接过错。

经过运用`extern`关键字,咱们能够完结跨文件的变量和函数同享,然后进步代码的可读性和可保护性。

深化了解C言语中的“extern”关键字

什么是extern关键字?

在C言语编程中,“extern”是一个关键字,用于声明一个现已在其他当地界说的变量或函数。它的首要效果是告诉编译器,某个变量或函数的界说坐落当时文件之外,编译器需求在链接阶段找到这个变量或函数的实践界说。

extern关键字的效果

1. 声明全局变量

当你在某个文件中界说了一个全局变量,并期望在另一个文件中运用这个变量时,能够在第二个文件中运用“extern”关键字来声明这个变量。这样,编译器就会在链接阶段查找这个全局变量的界说。

2. 声明函数

假如你在一个文件中界说了一个函数,并期望在另一个文件中调用这个函数,能够在第二个文件中运用“extern”关键字来声明这个函数。不过,通常情况下,函数的声明现已包括在头文件中,所以直接包括头文件即可。

extern关键字的运用场景

1. 声明全局变量

以下是一个运用“extern”关键字声明全局变量的比如:

```c

// file1.c

int globalVar = 10;

// file2.c

include

extern int globalVar;

void printGlobalVar() {

printf(\

本站部分内容含有专业性知识,仅供参考所用。如您有相关需求,请咨询相关专业人员。
相关阅读
php开源,助力开发者共创未来

php开源,助力开发者共创未来

1.Gitee:Gitee是一个依据Git的代码保管借题发挥,供给多种PHP言语的抢手开源项目。你能够阅览各种类型的PHP项目...

2025-01-10

php装备,从入门到通晓

php装备,从入门到通晓

1.挑选和装置PHP版别:依据你的应用程序需求挑选适宜的PHP版别,然后经过包管理器(如apt、yum)或编译源码的方法装置PHP。2...

2025-01-10

go汉语意思,深化解析“go”的汉语意思及其用法

go汉语意思,深化解析“go”的汉语意思及其用法

Go在汉语中有多种意思,首要取决于上下文:1.作为动词,表明“去”的意思,例如:“他去上学了。”2.作为名词,表明“围棋”,这是一种...

2025-01-10

java类,Java类的概述

java类,Java类的概述

当然能够,我能够协助你了解Java类的根本概念。在Java编程言语中,类(Class)是一个中心概念,它是面向目标编程(OOP)的根底。...

2025-01-10

java静态变量,Java静态变量的深化解析

java静态变量,Java静态变量的深化解析

Java中的静态变量,也被称为类变量,是与类相关联的变量,而不是与类的实例相关联。这意味着静态变量归于类自身,而不是类的目标。静态变量在...

2025-01-10

热门标签