全局变量的作用域是什么 C语言全局变量和局部变量会冲突吗?为什么?

C语言全局变量和局部变量会冲突吗?为什么?在C语言中,这取决于如何放置全局变量和局部变量。如果将全局变量和局部变量放在一个代码文件中,则会发生冲突。所以不明显,我将编写一个C程序代码,如下图所示:在这

C语言全局变量和局部变量会冲突吗?为什么?

在C语言中,这取决于如何放置全局变量和局部变量。如果将全局变量和局部变量放在一个代码文件中,则会发生冲突。所以不明显,我将编写一个C程序代码,如下图所示:

在这个C程序中,我在main函数外定义了一个全局变量para,并给出一个初始值1。在C程序的主函数中,我定义了一个变量para,它与主函数外的变量同名。

这里,C程序主函数外的变量的生命周期在整个代码中是有效的,而主函数的变量只在主函数中有效。

也就是说,当您在C程序的主函数中操作para变量时,实际上是在主函数中操作变量,而外部para变量的值仍然是1。在这个C程序中,main函数中的para变量隐藏了外部变量para。

因此,学生在学习C语言时,必须注意全局变量被同名局部变量覆盖的问题,还要了解变量的范围和生命周期。

3.变量根据作用域可分为哪三种变量,他们的区别有什么?

根据变量的范围,变量可以分为两类,即局部变量和全局变量。局部变量也称为内部变量。局部变量在函数中定义。其范围仅在函数内。离开函数后使用此变量是非法的。全局变量,也称为外部变量,是在函数外部定义的变量。它不属于哪个函数,它属于一个源程序文件。它的范围是整个源程序。