2016 - 2024

感恩一路有你

linux全局搜索文件 C语言全局变量和局部变量会冲突吗?为什么?

浏览量:1430 时间:2021-03-16 03:31:16 作者:admin

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

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

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

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

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

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

linux系统中,初始化的全局变量和未初始化过的全局变量保存在哪?

由C/C编译的程序所占用的内存分为以下部分:1。堆栈由编译器自动分配和释放,存储函数参数和局部变量的值。其操作类似于数据结构中的堆栈。2堆通常由程序员分配和释放。如果程序员没有释放堆,那么在程序结束时,操作系统可能会恢复堆。注意,它在数据结构上与heap不同。分配方法类似链表,哈哈。三。全局区域(静态)-将全局变量和静态变量的存储放在一起。初始化的全局变量和静态变量在一个区域中,未初始化的全局变量和未初始化的静态变量在另一个相邻区域中。-程序完成后,由系统发布。4文本常量区域-常量字符串放在这里。程序完成后,系统发布5。程序代码区-函数体的二进制代码。

linux全局搜索文件 linux全局查找文件命令 linux全局搜索文件名

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。