【基础知识】函数参数

函数参数的作用

函数参数是将数值参数传递给函数以供使用。当数值被传递时,将会重新创建一个变量,这使得如果传递的数值并非地址的话,修改形参的值并不会影响原有的数据。函数的参数可以有多个。

函数参数的种类:

包括基本数据类型:整型,长整型,浮点型,字符型等;还有复合类型:包括数组,结构,以及对象等,还有函数的指针等。

基本数据类型一般是按值传递

对于数组而言,传递的并非完整的数组数据,而是一个指针,*ar和ar[]都是表示同一地址的不同表现形式。数组是一个整体,在内存中占据一整段连续的存储单元。

对于结构而言,尽管结构是一个储存多个数据的实体,但在函数中与基本的单值变量的行为更为接近,也即是说,结构在进行传递时也将进行复制,这样一来,在结构非常大的时候,复制结构将增加内存要求,降低系统运行速度,因此,通常在结构数据较小时采取按值传递,在较大时采取传递地址的方式。

对于类对象而言,由于其基于结构的特点,因此在结构编程方面的有些因素也适用于类。例如可将一个结构赋给另一个结构,也可将一个对象赋给另一个对象,可将结构作为完整的实体进行传递,也可将对象作为完整的实体进行传递。

值得注意的是,采取传递地址的方式,比起按值传递,一般节约内存,也能提高效率。

常见的问题

为什么c程序main函数中用return 0而不是其他的值?

向main函数返回之后将调用EXIT函数,此时main函数的返回值将作为EXIT函数的参数。

当参数为0或者EXIT_SUCCESS,将向外部环境报告程序运行成功;而参数为EXIT_FAILURE时,则报告程序运行失败;其他的值效果不确定。而return 0是有定义的,具备可移植性。

还有很多细节未补充,有空会补上的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值