近期复盘看到extern关键字,查了一下博客答案内容说的很棒,使用方式没说让我懵了一下,新人的话可能会懵逼,主要是如何编译这一块;
extern关键词作用:
在c语言的语法体系中,关键词extern房子变量,函数的声明前,表示变量,函数是在别处(可以是别的文件或则程序的其他位置)定义的,但是此处声明使用;
好了,直接看效果:
一:访问不同文件的变量即函数
/*extern.c*/
#include<stdio.h>
extern int a;
extern void print();
int main()
{
printf("extern = %d\n", a);
return 0;
}
/*extern1.c*/
#include<stdio.h>
int a = 10;
void print()
{
printf("extern1 = %d\n", a);
}
好了重点来啦;
这上面是没有问题的,问题就出在如何把extern文件编译成可执行文件
编译如下:
gcc -g -o extern extern.c extern1.c
二:访问同一文件中作用域不同的全局变量
#include<stdio.h>
int main()
{
extern i = 1;
extern j = 1;
extern x = i + j;
printf("x = %d\n", x);
return 0;
}
int i;
int j;