函数以及数组

本文探讨了编程中的关键概念,包括函数声明与定义、参数传递方式(值传递与指针)、一维和二维数组在函数参数中的差异,以及递归函数和避免栈溢出的方法,还涉及了计算阶乘和斐波那契数列的数组函数算法。
摘要由CSDN通过智能技术生成

声明与定义

以下第一排为函数声明,后者是对一个函数的定义。

void为一个空的类型或者参数。

定义有参函数如下:

传参方向:

自右向左。如add(i,j)在传参时先传 j 再传 i。但如add(i,i++)此类时,应考虑++运算符在一个语句结束后再++,所以原意等效为add(i,i)

linux系统中代码的五个工作区:
1.栈区(stack):函数调用后返回地址内所有局部变相及形参都在这个区。

2.堆区

3.字符串常量区:如“Hello”字符串在这个区

4.静态区

5.代码区

值传递,不能改变实参i的值。

指针传参(可以通过指针改变实参的值)

如下:

虽然在定义形参时没有声明是一个指针变量,但形参是对数组的的地址进行调用,所以会影响实参的值。

一维数组与二维数组在函数参数中不同的写法

在不适用指针声明下,对一维与二维数组形参的声明是不一样的,如下两个函数:

一维数组

二维数组

此时,想要进行此函数调用的数组必须满足第二个维度为4,即与函数匹配

函数递归

基本内容

无休止导致栈溢出

 

一些递归函数写法:

n的阶乘:

输出第n个菲波那切数列的值

数组函数算法

以下为部分二维数组算法:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值