(资料图片)
extern关键字的作用extern是指当前变量或函数不是在源文件中声明的,而是一个外部变量和一个外部函数。当我们试图在本文档中引用一个外部声明的全局变量或函数时,我们可以用extern作为前缀。
Extern可以修改变量和函数,表示该变量或函数是在别处(源文件或其他源文件)定义的,在这里声明使用,这样多个源文件共享变量和函数;c源文件是独立编译的,编译器无法判断多个源文件共享的变量类型是否一致(只有变量名和函数名一致);到链接时(这个阶段不再是过程语法检查),多个源文件被编译。o文件链接成一个目标文件,如果多个源文件初始化同一个变量,就会报错。1.外部变量名称。任何函数在体外声明或定义变量时,可能是定义,也可能是没有extern的声明。编译器选择被初始化的那个(它最多在一个地方被初始化)。如果没有初始化,选择其中一个作为定义,其他都是声明,但是加extern肯定是声明;如果不希望链接到其他源文件,则需要使用static关键字。2.extern函数,默认为外部(在函数内部或外部声明一个外部函数,extern关键字可以省略)。如果不希望其他源文件链接到它,请在函数前添加static关键字。写程序的时候一定要注意外部函数的参数类型,参数个数,返回值类型。最好保持一致的宏观认识:从以上杂念来看,在C程序中,函数是通过函数来区分的。每个函数完成一个功能,一组相关的函数放在一个源程序中。这些函数和相关函数通常有一个连接,这个练习通过static和extern连接。
本文到此结束,希望对大家有所帮助。