c语言extern的用法 c语言中的extern怎么用?

c语言中的extern怎么用?Extern是C中的一个外部声明,因为C在使用它之前声明它。当要调用的变量或函数不在模块中时,可以使用外部声明。使用外部声明时应特别注意,因为它只是一个声明,而不是实体。

c语言中的extern怎么用?

Extern是C中的一个外部声明,因为C在使用它之前声明它。当要调用的变量或函数不在模块中时,可以使用外部声明。使用外部声明时应特别注意,因为它只是一个声明,而不是实体。当声明与实体不匹配时,编译器将不会处理它,并且链接后可能会发生错误。例如,您的实体是intsample(intx),您将其声明为externalintsample(void),因此我不喜欢这种声明方式。特别是在多人合作的项目中,这种方法的结果很难调试。即使有人编写了提供给您的内容,当他更改函数或变量的类型和参数时,也常常忘记修改提供给您的语句。

extern的另一个功能是,当您将C与C混合使用时,例如,如果您想在C中使用C,您需要告诉编译器您的代码使用C,并且需要使用C编译器进行编译。可以使用extern“C”{…}否则编译时会出现问题

extern用于声明外部函数或变量定义。例如,在1.C中定义一个函数和变量:void fun1(void)int a=0,并且要在2.C中调用fun1(),并读取a的值,那么在编译器编译2时,需要按如下方式重新设置2.C的头:extern:extern extern(())。C、 它不会报告错误。相反,它将寻找fun1和a来访问外部函数和变量。

c语言中extern怎么用,举个简单例子说明下,谢谢?

泻药,这种问题最烦人。就说我的观点是错误的吧。别喷了。Extern有很多功能。如果顺序是int a=2;extern int a;此时,编译器理解extern是一个引用变量,因此当int a=2时,将其更改为static int a=2;

没有问题,但顺序是extern int a;static int a=2;extern的功能是声明变量a。如果声明变量a,(不同于普通int a,definition)u,你需要有一个定义,但是你定义了static int,所以编译器认为变量a只有一个声明但没有定义,所以它自然会报告一个错误。