请选择 进入手机版 | 继续访问电脑版
楼主: admin

全局变量和局部变量有什么区别?

[复制链接]

0

主题

12

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2022-1-11 22:53:50 | 显示全部楼层
一、区别:
1、作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等。
2、 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区。
3、生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了。
4、使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量需要注意一点的是,局部变量不能赋值为同名全局变量的值。
二、如何在函数内设置全局变量和更改已经创建的全局变量
使用 global
回复

使用道具 举报

0

主题

12

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2022-1-11 23:04:41 | 显示全部楼层
从变量的作用域来看,局部变量只在本函数范围内有效,此外的函数均不能使用;全局变量的有效范围从定义变量的位置开始到本源程序结束。局部变量是程序执行到本函数式分配内存空间,此函数执行完后释放空间;全局变量是程序运行时事先分配好内存空间,整个程序执行结束后释放内存。从存储位置上看,局部变量存储在栈空间;全局变量存储在全局数据区。全局变量如果没有初始化,系统给他赋值为0;局部变量如果未初始化,系统会给他随机赋值。全局变量和局部变量重名时,局部变量起作用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表