c++中,全局变量,局部变量,静态变量的作用分别是什么?

 我来答
网海1书生
科技发烧友

2017-09-27 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12310 获赞数:26224

向TA提问 私信TA
展开全部
如果把你的家比作程序里的一个子过程或者自定义函数,而这个外部世界就是整个程序,那么:
全局变量就相当于一个公众人物在电视上发表了讲话,那么这个讲话你们家里的人能听见,其他千千万万个家庭(即其他的函数或过程)的人也能听见,也就是说全局变量是在整个程序中起作用的,程序的任何一个子过程都可以获取这个变量的值,也能改变它的值;
局部变量就好比你在自己家里讲了一段话,这段话只有你家里人能听见,别的家庭里的人是听不见的,也就是说局部变量只能在定义自己的那个子过程或函数里起作用,到了外面或者其他过程里面是无效的,如果其他过程里面也有一个名字相同的局部变量,那么这两个变量是没有半毛钱关系的,互不干扰;
而静态变量就好比你在自己家里说话的同时还录了音,这样下次再要说话的时候,你以及你的家里人就能知道你上次说了什么话,你可以直接使用你说过的话,也可以修改甚至推倒重来。也就是说静态变量可以在过程或函数重复运行的时候保留上次运行的值(而普通的局部变量在函数过程再次执行时会重新变为初始值)。
盘高芬御娜
2019-04-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:673万
展开全部
全局变量和静态变量差不多,都是程序刚开始就构造,程序结束析构,局部变量一般在某个函数中申明,执行函数时构造,函数退出析构,new的变量,什么时候new什么时候构造,用完后一般自己析构,想在哪儿在哪儿,如果不主动析构,那么程序结束会自己析构,但这样会有内存泄漏
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友89707d6
2017-09-27 · TA获得超过523个赞
知道小有建树答主
回答量:697
采纳率:67%
帮助的人:82.9万
展开全部
全部变量就是在整个工程工都可以调用。比如我在一个标准模块中定义了一个全局变量,那么我无论是在窗体1还是窗体2还是其他地方都可以调用它。而局部变量就不行,比如我在某个窗体定义了一个变量,那么这个变量我就只能在这个窗体中使用。 静态变量,就是当我执行完一个过程后,它的值保存下来了。下次再执行这个过程的时候,使用的值就是新值(即上次过程执行完后产生的值)而动态变量就不会保存那个值。当执行完一个过程后,静态的数值变量会初始化为0,静态的字符串变量会初始化为空字符串说得很明白了不知道你了解不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式