如何声明为extern
时间: 2023-12-10 18:41:08 浏览: 52
在C语言中,如果要将一个变量或函数声明为extern,需要在其前面加上extern关键字。这样声明的变量或函数可以在其他文件中被使用,但是并不会在当前文件中分配存储空间。
例如,在一个文件中声明一个全局变量:
```c
int count;
```
如果我们想在另一个文件中使用该变量,可以在该文件中添加如下声明:
```c
extern int count;
```
这样就告诉编译器,count变量是在其他文件中定义的,并且在当前文件中只是一个声明。编译器在链接时会找到该变量的实际定义并进行链接。
类似地,如果我们要在一个文件中声明一个函数为extern,可以这样写:
```c
extern void my_func();
```
这样就告诉编译器,my_func函数是在其他文件中定义的,并且在当前文件中只是一个声明。编译器在链接时会找到该函数的实际定义并进行链接。
相关问题
函数声明为extern
extern是C语言中的一个关键字,用于声明一个变量或函数是在其他文件中定义的。这样做的目的是为了让编译器在编译时知道该变量或函数的存在,但不会在当前文件中分配内存空间。
例如,如果在一个文件中声明了一个全局变量,但该变量的定义在另一个文件中,那么可以使用extern关键字来告诉编译器该变量的定义在其他文件中。
函数声明为extern的语法如下:
extern return_type function_name(arguments);
其中,return_type是函数返回值的类型,function_name是函数名,arguments是函数参数列表。
需要注意的是,函数声明为extern时,不需要提供函数体。因为函数体已经在其他文件中定义了。
结构体如何声明为extern
结构体可以声明为 extern,以便在一个源文件中定义,在另一个源文件中使用。要声明结构体为 extern,请按以下步骤进行操作:
1. 在定义结构体的源文件中,使用 extern 关键字声明结构体。
```c
// file1.c
extern struct ExampleStruct {
int x;
char y;
} exampleStruct;
```
2. 在使用结构体的源文件中,包含结构体的头文件,并使用 extern 关键字声明结构体。
```c
// file2.c
#include "example.h"
extern struct ExampleStruct exampleStruct;
```
这样,就可以在 file2.c 中使用 exampleStruct 结构体了。注意,结构体的定义只能在一个源文件中进行,否则会引起重复定义错误。
阅读全文