标题:函数里的数组咋传递
只看楼主
lxk1732942
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:450
专家分:425
注 册:2018-9-4
得分:0 
数据只能由主调函数向被调函数单向传递,故在被调函数中定义的一切变量都无法将其值传递至主调函数,最多也就是在主调函数写一个赋值语句,将被调函数的返回值赋值给一个变量。但是被调函数可以对主调函数中变量的值作改变,因此,不如再定义一个长度相同的数组,并将原数组各值拷贝过去作为备份。然后再在被调函数中对备份数组进行处理。这样就相当于得到被调函数中的数组了。
新手一个,不知这样理解是否正确。
2018-10-13 20:18
zhangst
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-10-11
得分:0 
哦哦   谢谢大家   新手上路才学到循环,对函数中数值的传递还不太清楚。
2018-10-14 15:03
Mr_doge
Rank: 5Rank: 5
等 级:贵宾
威 望:10
帖 子:159
专家分:385
注 册:2018-6-28
得分:3 
LS说的很清楚了
数组在函数间传递的常见方式有几种
1是声明一个全局变量的数组,这样该文件内的函数都可以对此数组进行操作
2是在main函数进行数组的声明,将数组指针作为参数传递给其他函数
3是在其他函数内使用malloc()函数分配个独立的内存空间给数组,并将其指针作为返回数值返回给调用的函数

指针一般简单的使用其实很好理解(当然指针大麻花或者指针数组等等难以摸清的玩意也确实存在),指针其实就是各种变量函数甚至指针本身在内存的地址,仅此而已,学习C无法避开指针,基本上涉及到运算的C程序无法不操作内存地址就能正常运行,或者说,计算机的运行,内存地址从来就是不可或缺的(解释型编程语言不需要直接对地址进行操作,编译器会帮你完成这些,但C是编译型语言,很多概念的实现必然会对地址进行直接操作)
2018-10-15 20:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490329-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015446 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved