调用函数,求3个整数中的最大者(关键字extern)

如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件结束。在定义点之前的函数不能引用该外部变量。如果由于某种考虑,在定义点之前的函数需要引用该外部变量,则应该在引用之前用关键字extern,对该变量作“外部变量声明”,表示把该外部变量的作用域扩展到此位置。有了此声明,就可以从“声明”处起,合法地使用该外部变量。

在此程序中,用extern声明外部变量,扩展外部变量在程序文件中的作用域。

程序如下:

de4a2a458d034a51af7ee0b7caea77ae.png

 或者也可以编写成如下形式:

b567b448b9ad4d07bbeeab7621f62191.png

 由于定义外部变量A,B,C的位置在main函数之后,本来在main函数中是不能引用外部变量A,B,C的。现在,在main函数的开头用extern对A,B,C进行“外部变量声明”,把A,B,C的作用域扩展到该位置。这样就能在main函数中就可以合法地使用全局变量A,B,C了。如果不作extern声明,编译main函数时就会出错,系统无法直到A,B,C是后来定义的外部变量。

由于A,B,C是外部变量,所以在调用max函数时用不到参数传递。在max函数中可以直接使用外部变量A,B,C的值。

最后,在定义外部变量A,B,C时,要注意语句后面有分号。

猜你喜欢

转载自blog.csdn.net/m0_73939236/article/details/128216303