C语言extern的用法(新手必看)
在 C语言中,extern 用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。
extern 声明不是定义,即不分配内存空间。也就是说,在一个文件中定义了变量和函数,在其他文件中要使用它们,可以有两种方式:
例如,在文件 a.h 中的代码如下:
另外一种方式是在文件 b.c 中定义变量 a,代码如下:
extern 声明不是定义,即不分配内存空间。也就是说,在一个文件中定义了变量和函数,在其他文件中要使用它们,可以有两种方式:
- 使用头文件,然后声明它们,在其他文件中使用时包含头文件;
- 在其他文件中直接使用 extern 声明。
例如,在文件 a.h 中的代码如下:
#include<stdio.h> int a = 10;如果在另一个文件 a.c 中要用到文件 a.h 中的变量 a,代码如下:
#include <stdio.h> #include "a.h" //包含该头文件 int main(int argc,char *argv[]) { printf("a = %d \n " , a); return 0; }
另外一种方式是在文件 b.c 中定义变量 a,代码如下:
#include<stdio.h> int a = 10;在另一个文件的 main() 主函数中通过 extern 声明外部文件变量,代码如下:
#include <stdio.h> extern int a; //使用外部文件b.c中的变量a int main(int argc , char *argv[]) { printf("a = %d \n " , a); return 0; }编译运行,结果均如下:
a = 10