C语言(基础)学习笔记⑤--函数(function)

本文详细介绍了C语言中的函数使用,包括语法格式、函数调用前后变量空间的变化、形参与实参的概念及传值与传址的差异。特别强调了数组在函数传递中的特性,只传递首地址,并需要指定范围。最后,阐述了函数递归调用的原理,包括递归的出口和起始条件,以及递归与迭代的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、语法格式

2、函数需要定义在前,调用在后。

3、函数在被调用之前,其内所有的变量尚未开辟空间。

空间的开辟起始于函数调用。空间消失结束于函数调用完毕。

形参:在定义或声明函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。

实参:实参可以是常量、变量或表达式,但要求它们有确定的值。在调用时将实参的值赋给形参

4、地址对于不同的作用域来说,是开放的。

传值与传址的区别:下图为交换a,b两数的值

5、数组的传递不可能通过拷贝的方式来传递。C语言基于效率的原因,只传递首地址。在传递的时候,数组名仅充当地址使用。

数组有三要素,起始地址,步长(刻度),范围

数组名,是一个指针,就已经包含了起始地址,步长(刻度)。但是数组名里面没有包含范围,

所以在传递一维数组的时候,要传数组名和范围。

6、函数递归调用(Recursive)

定义:直接或是间接调用自己的情形,叫递归调用。递归,是比较接近自然语言特性的一种调用方式

结构:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值