|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 被调用函数结束时,形参会保留还是初始化。
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2705
人关注过本帖
标题:
被调用函数结束时,形参会保留还是初始化。
只看楼主
加入收藏
wssy213
来 自:湖南
等 级:
贵宾
威 望:
10
帖 子:967
专家分:3703
注 册:2014-6-6
第
11
楼
收藏
得分:0
以下是引用
TonyDeng
在2014-9-7 15:58:28的发言:
1楼的代码没有全局变量,a和n都是静态(static)变量,范围不同而已。
为什么说a是静态变量呢?
坚持----------------------------------唯一的道路
shit ! ! !
2014-09-07 18:59
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
12
楼
收藏
得分:0
回复 11 楼 wssy213
语言规定就是这样的,那叫文件级的静态数据,可见性只在本文件(模块)中。在单个文件程序中,它与全局数据等效,但在多模块程序中,除非别的模块用extern引用这个变量,否则是看不到这种数据的(现在该明白头文件.h中经常写出extern的用途了)。可见性跨模块的数据和代码,才是全局性的。
[
本帖最后由 TonyDeng 于 2014-9-7 21:24 编辑
]
授人以渔,不授人以鱼。
2014-09-07 21:21
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
13
楼
收藏
得分:0
静态(static),正式称呼是“静态存储时间”,意思是指这种变量是长期存在的。可见性是另一回事,具有静态存储时间的数据,可见性也可以是不同的,这种变量也有代码块内、函数内、文件内各种不同的可见性。全局变量实际上是文件层级的静态存储时间变量,而且其可见性跟声明位置有关,只有在这种变量声明后面的代码才可见。
授人以渔,不授人以鱼。
2014-09-07 23:42
举报帖子
使用道具
赠送鲜花
Super夜煞
等 级:
新手上路
帖 子:9
专家分:0
注 册:2014-9-7
第
14
楼
收藏
得分:0
回复 10 楼 wssy213
你看不到5楼么?你的电脑自动忽略了?那我复制粘贴给你看
“为什么会概念不清呢?是书上没讲明白?能让看看你看什么书吗?”
2014-09-08 09:15
举报帖子
使用道具
赠送鲜花
Super夜煞
等 级:
新手上路
帖 子:9
专家分:0
注 册:2014-9-7
第
15
楼
收藏
得分:0
回复 10 楼 wssy213
我只想问,你高考数学学了多久做了多少数学题,那你考了满分了吗? 如果只给你高中5本数学教科书让你自己看,你还能考几分?一样的道理,学一门知识不是看看书就能会的,何况是初学。“就像前不久看到只能实参传递给形参值,后来遇到反例,矛盾。网上查才知道,指针变量会改变实参的值,还有一种情况也会改变,不记得了。”一个算法可能涉及很多方面的知识,但你看书学习,不可能面面俱到,更不可能面面都弄得透彻,这就是所谓的问题。 不是问几句“为什么会概念不清呢?是书上没讲明白?能让看看你看什么书吗?”就能显的自己高大上的,连学习最基本的过程常识都不懂还谈什么...。以上是解释“5楼三连问”句子。
看了你一二两排的解答,首先说句谢谢,谢谢你的回答;其次建议你去上面把我的疑问看清楚下下。而对于下面回答的文字游戏我就不玩了。
表达个个人观点:“玩小号有的时候很有意思,但有的时候真的一点意思都没有,特别是玩的不好被看出来的时候。”你觉得呢???
[
本帖最后由 Super夜煞 于 2014-9-8 09:58 编辑
]
2014-09-08 09:57
举报帖子
使用道具
赠送鲜花
beyondyf
等 级:
贵宾
威 望:
103
帖 子:3282
专家分:12654
注 册:2008-1-21
第
16
楼
收藏
得分:0
Tony你又装漏了吧。
楼主定义的变量a就是全局变量,你最好再看看书弄清楚变量定义与变量声明的区别。
extern是用于声明的,在文件外访问全局变量当然要先声明了。
真正的你想表达的文件级变量需要再加上static关键字,这样在文件外即使用extern声明也不能访问。
变量如此,函数亦如此。
你的装估计是改不了了,但还是尽量谨慎些,这么多年了你的水平没什么长进,性格亦是。
重剑无锋,大巧不工
2014-09-08 10:26
举报帖子
使用道具
赠送鲜花
vvvcuu
等 级:
贵宾
威 望:
12
帖 子:353
专家分:1253
注 册:2014-4-22
第
17
楼
收藏
得分:0
楼主,你可以在每个变量被调用结束后加上适当的printf();getchar()组合语句,把这个变量输出,没输出一个需要按任意键程序才继续,这样你就可以清楚追踪每个变量的变化情况了。会更加清楚代码的执行过程。
代码测试环境: WinXP+C-Free5.0.
2014-09-08 13:35
举报帖子
使用道具
赠送鲜花
wssy213
来 自:湖南
等 级:
贵宾
威 望:
10
帖 子:967
专家分:3703
注 册:2014-6-6
第
18
楼
收藏
得分:0
回复 15 楼 Super 夜煞
在学习过程中,的确会遇到各种各样的问题,这些问题有可能是看书无法解决的,这就需要其他的途径来解惑,就比如上论坛询问。在这一点上我是赞成的。<br><br>在回答你的问题时,每个人的见解可能不同,所以给你的答复自然就可能不同,但有一点是明确的:不会因为你是初学者抑或者是其他原因而贬低你,也不会因为你学富五车而奉承你,每个人都会在这得到公平的待遇和尊重。所以别人尊重你,你自然也要尊重别人,这是原则问题。<br>再回到这个问题上,你的见解既然和T版不同,大可以去反驳他,但这一切的前提,要遵守原则。<br>另外,若认为这是马甲,可以找管理员,他会给你想要的答案
[
本帖最后由 wssy213 于 2014-9-8 14:03 编辑
]
坚持----------------------------------唯一的道路
shit ! ! !
2014-09-08 13:59
举报帖子
使用道具
赠送鲜花
Super夜煞
等 级:
新手上路
帖 子:9
专家分:0
注 册:2014-9-7
第
19
楼
收藏
得分:0
回复 18 楼 wssy213
最后一次为这事回复:
首先,没有人贬低我,我也没说过需要什么奉承!!至于你说的尊重,我并没有不尊重任何一个人,没有脏话,更没有利用字体颜色来暗自讽刺。我一直恪守着自己的原则。(如果你拿‘倚老卖老’来说事,请看下一条)
其次,你从哪里看到我和他出现‘见解不同’的问题了,请不要一而再再而三的忽略一句话(定义这句话为A),我这里也最后复制一次给你看A=“为什么会概念不清呢?是书上没讲明白?能让看看你看什么书吗?”这是他5楼的全部回复。看的懂吧?在我看来这一行为就是‘倚老卖老’,你非要说不是,非要说我不尊重他人,甚至你还说过我‘人身攻击性’这词。你可以测试,很简单,把这句话A回复给所有问问题的帖子上,看看这些楼主的反应。
最后,我不需要找什么管理员,我心里有我的答案,我不需要他给我,他给不给我对我来说没什么意义,还浪费时间。
我是初学者,以后还会有很多问题,也希望并欢迎你出于答疑解惑的目的来帮我。如果还是类似话语A的句子,那请右上角。或许我们不能给别人带来方便、快乐,但我觉得至少能不给他人带去不快,不是吗!
这事儿就当是你我见解的不同,没必要也不会再说什么了。
2014-09-08 17:29
举报帖子
使用道具
赠送鲜花
Super夜煞
等 级:
新手上路
帖 子:9
专家分:0
注 册:2014-9-7
第
20
楼
收藏
得分:0
回复 17 楼 vvvcuu
哇靠,眼前一亮的感觉,好方法,谢谢谢谢,具体的运用这种方法我去网上度一度,这方法肯定会很有用,真的很谢谢了。
2014-09-08 17:36
举报帖子
使用道具
赠送鲜花
23
2/3页
1
2
3
快速回复:
被调用函数结束时,形参会保留还是初始化。
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016467 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved