数组作为函数参数时的使用注意

本文探讨了数组在C/C++中的使用限制,包括数组间不能直接赋值、数组名不可赋值的原因,并介绍了数组作为函数参数时的引用传递特性及如何正确传递数组长度。

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

1.数组和数组变量之间,不能赋值

        例:int nums[5] = {1,2,3,4,5};

            int nums2[5] = nums; //报错的

 

 2.数组名声明后也不能赋值

             int nums[5];

             nums = {1,2,3,4,5};

 

 为什么会这样?

        因为数组名是一个地址常量

 

        不能通过数组名直接赋值


 数组作为函数的参数:

        1.定义语法

                返回值类型  函数名(类型 数组名[]){

 

                    函数体;

                }

 

        注意:参数里数组名中括号的长度,可写可不写,写了也没用,规范的写法是不写

 

 

 

 引用传递:

        

传递的是地址,就好比是把内存共享了一份给函数

 

        特点:在函数内改变了形参的值,那么外面的实参也会发生变化


    所以数组作为函数的参数是引用传递

  

 

 

 有一个函数专门用来帮我们遍历数组的

 

    那么此时,如果在函数内计算这个数组的长度,永远都会等于2,并不是真实的长度

 

    那么我们想遍历这个数组怎么办?没有拿到长度就不好遍历

 


 解决方法:

        

如果以后要用数组作为函数的参数,那么必须再加一个参数,用来传入数组的长度

 

 

 总 结:


    数组作为函数的参数,形参不需要写长度

    必须再加一个参数,让调用者传入数组的长度

    数组作为函数的参数,不区分,但是区分类型


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值