参考答案
结论:extern用于声明外部链接的变量或函数,表明其定义在其他编译单元;extern "C"指示C++编译器按C语言规则编译链接,避免名称修饰导致符号不匹配;extern全局变量根据是否初始化分别存于.data或.bss段。核心要点:1. 作用:如extern int g_val; 告知编译器变量在别处定义,链接时解析;多文件共享全局变量需在一个文件定义,其他用extern声明;2. extern "C":C++函数名会被name mangling,用extern "C" { #include <stdio.h> } 可生成C风格符号,便于C/C++混合编程;3. 数据段:未初始化全局extern int x; 在.bss段(不占文件空间),已初始化如extern int x=1; 在.data段(存初始值);const全局在C++默认内部链接,需extern const才跨文件。示例://file1.c int a=10; //file2.c extern int a; 即可访问。