C语言入门学习——数组作为函数参数(2025.1.16)

一、函数的递归调用


        在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。C语言的特点之一就在于允许函数的递归调用。

        例如:fac(n)函数为求n的阶乘的函数

int fac(int n)
{
    if(1 == n)
    {
        return 1;
    }
    else
    {
        return fac(n - 1) * n;
    }
}

二、数组作为函数参数


1.整型一维数组作为参数传递 

        (1)用数组名作函数参数,应该在主调函数和被调用函数分别定义数组。

        (2)实参数组与形参数组应类型一致(例如下面均为int型),如不一致,结果将出错。

        (3)数组名代表数组的首元素的地址,因此只是将实参数组的首元素的地址传给形参数组。形参数组首元素和实参数组首元素具有同一地址,它们共占同一存储单元,具有相同的值。因此,可以在被调函数中直接修改主调函数中数组的内容。

        (4)形参数组可以不指定大小,在定义数组时在数组名后面跟一个空的方括号。有时为了在被调用函数中处理数组元素的需要,需要另设一个形参len,用来传递数组长度,或需要处理的数组元素的个数。

         打印整型数组:

        求整型数组最大值 :

        逆序函数 :

         选择排序函数:

        冒泡排序函数:

        插入排序函数:

        二分查找函数:

 2.字符数组作为参数传递

        strlen函数:

        strcpy函数: 

        strcat函数: 

        strcmp函数:

 3.二维数组作为参数传递

        可以用多维数组名作为函数的实参和形参,在被调用函数中对形参数组定义时可以指定每一维的大小,也可以省略第一维的大小说明。例如:int a[ ][4]

        传递二维数组时,可以不传递列数,但需要传递二维数组的行数

         打印二维数组:

        二维数组求和: 

        镜像翻转二维数组: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值