在C语言中,这取决于如何放置全局变量和局部变量。如果将全局变量和局部变量放在一个代码文件中,则会发生冲突。所以不明显,我将编写一个C程序代码,如下图所示:
创新互联建站是一家专业从事成都网站制作、成都网站设计、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联建站依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!在这个C程序中,我在main函数外定义了一个全局变量para,并给出一个初始值1。在C程序的主函数中,我定义了一个变量para,它与主函数外的变量同名。
这里,C程序主函数外的变量的生命周期在整个代码中是有效的,而主函数的变量只在主函数中有效。
也就是说,当您在C程序的主函数中操作para变量时,实际上是在主函数中操作变量,而外部para变量的值仍然是1。在这个C程序中,main函数中的para变量隐藏了外部变量para。
因此,学生在学习C语言时,必须注意全局变量被同名局部变量覆盖的问题,还要了解变量的范围和生命周期。
在单片机中,一个全局变量,在中断中改变它的值供主程序使用,在使用之后,能不能在将这个全局变量变为初始的?也许我的理解有点偏颇。如果希望避免在主程序中使用全局变量时更改它,可以这样处理:只需定义另一个变量。在主程序中,首先将中断中的全局变量分配给新添加的变量,然后进行相应的处理。
如果希望在主程序中用完此变量,然后初始化此值。使用此值时,可以关闭相应的中断(或更改相应的标志位,以确保中断发生时不会修改全局变量),用完它,重新初始化此值,然后打开中断(或设置相应的标志位)