extern在C语言中的作用主要是声明一个变量或函数是在其他文件中定义的,以便在不同的文件之间进行共享。具体来说,extern的作用如下:
- 声明外部的变量:由于编译是对单个文件进行编译,在编译一个文件时,若要使用另一个文件中的变量,直接使用会报错。这时,可以用extern修饰要使用的变量,编译器会忽略这个错误,直到链接时会找到该变量。
- 声明外部的函数:与声明外部变量类似,如果在一个文件中需要调用另一个文件中的函数,也需要在该文件中用extern声明该函数。
可以看到main.c中没有包含test01.h,用的extern关键字链接num。