黑马程序员技术交流社区

标题: 指针和数组名 [打印本页]

作者: 不是长颈鹿2    时间: 2016-5-8 15:55
标题: 指针和数组名
指针和数组名都代表地址。他两有什么不同啊。求大神解下惑。
作者: john6g    时间: 2016-5-8 20:36
数组名也可以表示数组的首地址,当指针变量指向某数组时,两者一样,但指针变量可以增加和减少(++p,--p)来指向数组的不同元素,但数组名不可以。
作者: 时钟滴滴答    时间: 2016-5-8 21:28
指针拥有自己的地址,如果把一个变量的地址给了指针,指针就能指向这个变量。指针拥有了谁的地址,指针就可以改谁的值。参考游戏bug,获得了金钱变量的地址,ok,这时候就可以修改金钱变量,所以说指针是个双刃剑。
数组比较特殊,数组名代表的是这个数组的首元素的地址和这个数组的地址(二维数组意思相同,略有区别),它只能表示他自己的地址。它只能通过他的地址改变自己数组中的元素,不能改变其他的。
作者: 寂静夜凄凉    时间: 2016-5-8 21:35
指针可以指向任何一个数据的地址,可以操作任何数据,
数组名也代表数据的地址,是数组的首个元素的地址,你没办法修改其他算数的数据。。
作者: 不是长颈鹿2    时间: 2016-5-8 23:51
john6g 发表于 2016-5-8 20:36
数组名也可以表示数组的首地址,当指针变量指向某数组时,两者一样,但指针变量可以增加和减少(++p,--p)来 ...

哇,受教了,谢啦
作者: 不是长颈鹿2    时间: 2016-5-8 23:52
时钟滴滴答 发表于 2016-5-8 21:28
指针拥有自己的地址,如果把一个变量的地址给了指针,指针就能指向这个变量。指针拥有了谁的地址,指针就可 ...

分析的好详细,受教了,谢啦
作者: 不是长颈鹿2    时间: 2016-5-8 23:53
寂静夜凄凉 发表于 2016-5-8 21:35
指针可以指向任何一个数据的地址,可以操作任何数据,
数组名也代表数据的地址,是数组的首个元素的地址, ...

受教了。。。
作者: TGII    时间: 2016-5-11 00:37
我觉得啊,数组在一程度上就是指针,不过数组就是常量指针




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