社区
C语言
帖子详情
关于函数参数传递的意义
GIantPerson
2010-11-07 10:56:52
最近对函数参数传递,思考了很久,略有感触,在此和各位仁人志士探讨,学习。
c语言程序设计无非是变量,操作语句,以及函数。
函数为结构化设计创造了条件,函数有有参数,和无参数之分。有参数的函数主要是对函数的调用很有意义的。无参数的函数,虽可以实现c编程的结构化,但它造成了变量的混乱,即被调用函数中的变量和主函数中变量的混乱。在上万行的c程序里,可以想象这种混乱将造成多少程序的错误和团队合作的难度。
我个人认为:这便是函数参数的意义之所在。
...全文
240
18
打赏
收藏
关于函数参数传递的意义
最近对函数参数传递,思考了很久,略有感触,在此和各位仁人志士探讨,学习。 c语言程序设计无非是变量,操作语句,以及函数。 函数为结构化设计创造了条件,函数有有参数,和无参数之分。有参数的函数主要是对函数的调用很有意义的。无参数的函数,虽可以实现c编程的结构化,但它造成了变量的混乱,即被调用函数中的变量和主函数中变量的混乱。在上万行的c程序里,可以想象这种混乱将造成多少程序的错误和团队合作的难度。 我个人认为:这便是函数参数的意义之所在。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
heis07w
2010-11-08
打赏
举报
回复
汇 编 的栈 指针, 幀指针
觉醒之刃
2010-11-08
打赏
举报
回复
你的意思就是命名规则的问题
软件工程做的比较好的地方不会乱的
而且就算乱了一般也不太会造成致命后果
FrankHB1989
2010-11-08
打赏
举报
回复
name/identifier和scpoe相关,variant作为object,和storage duration相关。
所以要清楚点说的话,讨论变量
名
的作用域才有意义。
GIantPerson
2010-11-08
打赏
举报
回复
见笑啦!
知之为不知,不知更非知!水平不同,境界不同嘛。贵在各抒胸怀,提高水平。
知错了,改正了。
赵4老师
2010-11-08
打赏
举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
staare
2010-11-08
打赏
举报
回复
如果不能传参数的话,递归的时候怎么办?
qybao
2010-11-08
打赏
举报
回复
LZ好好理解一下变量的作用域
wissup
2010-11-08
打赏
举报
回复
建议学习一下计算机语言!关于参数的含义。
gp341
2010-11-08
打赏
举报
回复
这个新手真是够新的
walkersfaint
2010-11-08
打赏
举报
回复
[Quote=引用 4 楼 giantperson 的回复:]
引用 1 楼 jhangverita 的回复:
函数内部变量对其外部是不可见的,其作用域只是在其内部,所以不存在变量混乱的问题。
而且一般开发中都会把函数定义在库函数中,然后通过源文件调用。一般不会出现楼主所说的问题。
无参有参要视具体情况而定。
首先谢谢你的意见。
那么,主函数中的变量,它的作用域是整个主函数结束,它可以渗透到调用函数中,倘若调用函数中的变量名和主函数变量名相同,请……
[/Quote]
不会改变,相同的变量名,就算是全局变量,当在实际的函数中,你申请了一个相同的局部变量,也是有效为局部变量,不会改变到全局变量的,PS:除非你没申请局部变量
iambic
2010-11-08
打赏
举报
回复
说的太玄乎了。当你把这些东西都当作平常物的时候才算真正体会吧。
roctang2006
2010-11-08
打赏
举报
回复
谭老师的书上也说,尽量不要大量使用全局变量,而采用参数传递。
jhangverita
2010-11-07
打赏
举报
回复
全局变量会被局部变量屏蔽室对的。
后面不要这样理解为好。函数参数功能很多,比如写一个交换两个变量值a,b的函数change
void change(int *a, int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
}
int main()
{
int a=2, b=3;
change(&a,&b);
return 0;
}
这里面参数做了返回值。
等等。。。
adooadoo
2010-11-07
打赏
举报
回复
我觉得就算是全局变量,也会被函数体内的局部变量所屏蔽…有参函数我多半看成一个封装好的东西,我告诉它入口,它算结果…不知理解对否
GIantPerson
2010-11-07
打赏
举报
回复
[Quote=引用 1 楼 jhangverita 的回复:]
函数内部变量对其外部是不可见的,其作用域只是在其内部,所以不存在变量混乱的问题。
而且一般开发中都会把函数定义在库函数中,然后通过源文件调用。一般不会出现楼主所说的问题。
无参有参要视具体情况而定。
[/Quote]
首先谢谢你的意见。
那么,主函数中的变量,它的作用域是整个主函数结束,它可以渗透到调用函数中,倘若调用函数中的变量名和主函数变量名相同,请问他们是不是同一个变量?被调函数中的变量值发生改变,是否影响主函数同名变量的值?
jhangverita
2010-11-07
打赏
举报
回复
main函数也是函数,他调用别的函数,他的变量对调用的函数是无效的。
GIantPerson
2010-11-07
打赏
举报
回复
首先谢谢你的意见。
那么,主函数中的变量,它的作用域是整个主函数结束,它可以渗透到调用函数中,倘若调用函数中的变量名和主函数变量名相同,请问他们是不是同一个变量?
jhangverita
2010-11-07
打赏
举报
回复
函数内部变量对其外部是不可见的,其作用域只是在其内部,所以不存在变量混乱的问题。
而且一般开发中都会把函数定义在库函数中,然后通过源文件调用。一般不会出现楼主所说的问题。
无参有参要视具体情况而定。
PowerBI系列之DAX
函数
专题
PowerBI中数据建模知识 维度建模 关系传递和交叉筛选器方向-理解表关系(1v1, 1vM, Mv1,MvM) 两个方向上应用安全筛选器 关闭关系自动检测 新建计算列 新建度量值 新建计算表:辅助表(五种方式)、日历表 数据类型...
C语言中
函数
参数传递
的三种方式
C语言中
函数
参数传递
的三种方式(1)传值,就是把你的变量的值传递给
函数
的形式参数,实际就是用变量的值来新生成一个形式参数,因而在
函数
里对形参的改变不会影响到
函数
外的变量的值。(2)传址,就是传变量的地址...
函数
参数传递
机制
函数
参数传递
机制1
函数
参数传递
机制2 值传递、址传递和引用传递的区别2.1 功能上2.2 传递效率上2.3 执行效率上2.4 类型安全上2.5 参数检查上2.6 灵活性上3
函数
传递该用指针还是引用 1
函数
参数传递
机制
函数
参数...
c语言
函数
作为
函数
参数有何作用,C语言
函数
参数传递
问题
C语言
函数
参数传递
问题导语:在一些C语言教材和参考资料中,常常把
函数
参数传递
分为“数值传递”和“地址传递”两种方式,这种概念模糊的分类方法给初学者的理解造成一定程度的困难。下面就由小编为大家介绍一下...
【Python】
函数
进阶 ③ (
函数
作为
参数传递
)
一、
函数
参数传递
类型 二、代码示例 -
函数
参数传递
类型
C语言
69,372
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章