C语言函数特性,c语言_函数参数特性

1 标题:C 函数参数特性 作者:白开水 编写日期:2012.5.22 前言 C 语言,是函数构成的语言,C 离不开函数,函数对于 C 的存在有着决定性的作用。 那么,函数参数对于 C 的重要性也就可想而知了。 下面我就谈谈 C 函数参数的一些性质。 参数特性简介 特点一:函数参数的传递顺序。 实例一 void func ( int id1 , int id2 ) printf ( “func()-id1=%d,id2=%d” , id1 , id2 ); void main ( ) int id1 = 10 ; func ( +id1 , +id1 ); 请问这输出什么? 运行结果:func()-id1=12,id2=11 怎么会这样呢?怎么可能这样呢?按照我们的思维方向从左到右,应该是 func()- id1=11,id2=12 呀!怎么会是反的呢?真奇怪! 冥思苦想吧,终于可又得出一个结论:函数参数的传递顺序是从右向左传递的。 特性二:函数参数的首、末地址。 实例二 int func1 ( int id1 , int id2 ) return printf ( “func1 ()- int func2( int id1 , int id2 , int id3 , int id4 ) return printf ( “func2 ()- 2 调用这两个函数,请问它们分别输出什么? 在这里,输出的是参数的地址,输出结果为: func1 ()- int result = 0; va_start ( vl , format ); result = vprintf ( format , vl ); va_end ( vl ); return result; 请问这样的参数对吗?如果对,有什么理由这样写? 这样的参数写法是正确的,称作可变参数。有了特点二的帮助,那么这个问题就能很 好地回答了。 如实例 3 所示的代码,即函数参数在被调用的时候,参数首地址可以确定,参数个的 步长可以确定,参数的个数可以确定,也即参数末地址可以确定了。 为什么参数不写成 ,const char *format 呢?我想在以上的解释中,你应该明了啦。。

《c语言_函数参数特性》由会员第***分享,可在线阅读,更多相关《c语言_函数参数特性》请在金锄头文库上搜索。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值