栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

1、语法格式

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

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

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

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

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

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

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

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

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

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

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

6、函数递归调用(Recursive)

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

结构:

递归返回 func(递归条件)
{
    if(递归终止条件)
        终止处理;
    else
        func(趋于递归终结的条件);
}

递归的要素:

①递归必须要有合理的出口,不然会挂掉
②递归起始条件,有使递归趋于结束的语句,递归终止条件
注意:递归条件参不参与运算

递归与迭代:

递归的方式,写法比较简洁,符合正常逻辑,但代码理解难度大,内存消耗大(易导致栈溢出 ),所以能用迭代 (Iterative)解决的问题,不要用递归来完成。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849126.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号