黑马程序员技术交流社区

标题: 数组作为形参,怎么理解 [打印本页]

作者: 895928691    时间: 2015-7-21 21:50
标题: 数组作为形参,怎么理解
上课的时候就很难系统的理解,还有传递地址的过程
作者: 午夜码农    时间: 2015-7-21 22:01
简单的点首先你不要把他俩(数组名传值,数组元素传值)想的那么复杂,记住一句话:数组名传值意思就是“传的是地址”而这个地址在计算机中怎么算都是8个字节,数组元素传值意思就是“传的就是数组元素的这个值,这个元素值是几那它就是几”,元素传值时候你要考虑好,下表位置的问题。。其它的一切OK
作者: 午夜码农    时间: 2015-7-21 22:03
至于你文中提的这个传递地址过程,我想说说太多了你反倒迷糊了,老师在总结里不由图吗就拿excl表格,不明白拿过来喵俩眼,就算你明白了那也拿过来喵俩眼,因为明天还是后天指针就靠它了。
作者: 闪电侠    时间: 2015-7-21 22:08
数组作为形参,传递的其实就是地址,数组首元素的地址。。。
作者: 默凉雨    时间: 2015-7-21 23:02
多看几个例子
作者: xiaoqiao    时间: 2015-7-21 23:12
其实很简单的,数组是引用类型,指向的是堆内存的一块内存空间,此内存空间用地址值来标示,因此数组传递的时候其是传递的是地址值,画几次内存图就明白了,也不要较真 慢慢就懂了
作者: lclofty    时间: 2015-7-21 23:27
先记住最简单的 数组元素做参数 只能传递值 实参形参地址不同, 数组名做参数 进行地址传递 实参形参指向的是同一个地址 ,更深的就去找例子敲敲吧
作者: tingyuyisheng    时间: 2015-7-21 23:51
确实这部分很抽象的
作者: wdcew    时间: 2015-7-22 00:01
请你拿一个你感觉最难得例子,然后试着去理解他,
作者: 爱生活爱程序    时间: 2015-7-22 00:24
就是传递的数组首元素的地址
作者: qq103613    时间: 2015-7-22 00:37
同样迷糊中
作者: lclofty    时间: 2015-7-22 07:21
数组元素是值传递 数组名是地址传递 理解不了就先记住好了
作者: 被水淹死的鱼    时间: 2015-7-22 09:10
传递的是数组首地址呀~
作者: skywan    时间: 2015-7-22 09:14
当传递数组名是传递的地址,传递的是数组元素是值传递,像这样写insert(a)或insert(&a)是地址传递,insert(a[0])是值传递。多多体会吧
作者: 408205555    时间: 2015-7-22 09:46
银行卡上有一串数字,你得依靠这串数字才能查询到你卡上的余额。
作者: 294250051    时间: 2015-7-22 09:54
闪电侠 发表于 2015-7-21 22:08
数组作为形参,传递的其实就是地址,数组首元素的地址。。。

数组调用是作为实参,传递的是数组元素的首地址
作者: 后街男孩    时间: 2015-7-22 12:21
数组名是名词常量是地址 ,做形参的时候就是把地址传给了函数
作者: 王劲松    时间: 2015-7-22 12:23
其实传递的是地址值,并非数组本身。弄清楚基本数据类型和引用数据类型区别就好了
作者: 杨远鹏    时间: 2015-7-22 21:57
数组名就是一个值,即表示地址的值,个人观点
作者: 小林儿    时间: 2015-7-22 22:55
形式参数就是虚无的,如果没实参调用,他只是摆设。无任何作用。
数组作为形式参数,实参调用它的时候, 传递的是整个数组首元素的地址也就是数组名。
你去买电脑,电脑分显示器,主机,键盘,鼠标,音箱……你会说老板我要一台电脑,而不会说老板我要一台显示器和一台主机还有键盘,鼠标,音箱……
这就是数组名的意义。它就是第一个元素的地址,为了统一整个数组而这样设定,要说为什么,那只能问c语言开发者了=。=
作者: 手残程序员    时间: 2015-7-22 23:11
看了很有帮助
作者: CesC    时间: 2015-7-22 23:19
多练习,多自己敲敲代码,再从逻辑思维上加深理解能力,很快就能掌握!
作者: chensc    时间: 2015-7-23 06:09
学习学习!
作者: 895928691    时间: 2015-7-23 08:02
午夜码农 发表于 2015-7-21 22:03
至于你文中提的这个传递地址过程,我想说说太多了你反倒迷糊了,老师在总结里不由图吗就拿excl表格,不明白 ...

好的谢谢
作者: 895928691    时间: 2015-7-23 08:03
小林儿 发表于 2015-7-22 22:55
形式参数就是虚无的,如果没实参调用,他只是摆设。无任何作用。
数组作为形式参数,实参调用它的时候, 传 ...

十分感谢
作者: 895928691    时间: 2015-7-23 08:06
小林儿 发表于 2015-7-22 22:55
形式参数就是虚无的,如果没实参调用,他只是摆设。无任何作用。
数组作为形式参数,实参调用它的时候, 传 ...

多谢啦,讲得很精细
作者: 895928691    时间: 2015-7-23 08:08
xiaoqiao 发表于 2015-7-21 23:12
其实很简单的,数组是引用类型,指向的是堆内存的一块内存空间,此内存空间用地址值来标示,因此数组传递的时候 ...

thank you 现在懂些了
作者: 562413895@qq.co    时间: 2015-7-23 08:17
感觉自己理解的也不深,还是写的少,体会的少
作者: 小林儿    时间: 2015-7-23 18:23
895928691 发表于 2015-7-23 08:03
十分感谢

:lol互帮互助!
作者: noway190    时间: 2015-7-27 20:45
额,打个酱油            




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2