免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: zamely
打印 上一主题 下一主题

[C] (求助)指针与二维数组的关系 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-01-16 10:54 |只看该作者
回复 1# zamely

前面两点是对的,图也是正确的。第三点理解上有问题。

     3.如果是,假设zip[0]地址addr,那么addr处的值也是addr,由于zip[0]指向zip[0][0],那么意味着addr存储的数值是zip[0][0],那么就会矛盾。

论坛徽章:
0
12 [报告]
发表于 2014-01-16 11:56 |只看该作者
回复 11# linyunxian


    如果两点是正确的,为何这个地方会错误了,还请指教!

论坛徽章:
6
寅虎
日期:2013-10-10 21:59:16狮子座
日期:2013-11-12 09:24:41金牛座
日期:2013-12-14 17:02:23酉鸡
日期:2014-01-16 12:34:37技术图书徽章
日期:2014-02-15 12:52:31巨蟹座
日期:2014-05-17 14:09:52
13 [报告]
发表于 2014-01-16 12:30 |只看该作者
本帖最后由 fergon 于 2014-01-16 12:32 编辑
zamely 发表于 2014-01-16 11:56
回复 11# linyunxian


因为C语言是以指针的形式来对数组寻址,zip[0]得到的其实是一个指针。print这个指针得到的是addr,而print zip[0][0]是zip数组的一个元素的值。留意一下类型变化应该不难理解吧?
我觉得@gvim会解释的很好,你找他应该没错。

论坛徽章:
0
14 [报告]
发表于 2014-01-16 15:03 |只看该作者
回复 13# fergon


    明白你的意思,谢了,也希望斑竹@gvim能来解释下子咯~

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
15 [报告]
发表于 2014-01-16 22:33 |只看该作者
回复 1# zamely

初学的吧,可以这样看这个问题。
你可以把问题定位在数据名和指针的关系上,注意是数组名。为什么不说是数组,是因为数组你只能知道它的存在,然你需要一种手段来表示这个存在,这个手段就是数组名和指针。
好了,问题解决了,数组名就是数组的一个名字一个表示,这个名字既不是指向,也不是存储,它就是数组,是一个地址的名字。你查查看你帖子里哪里谈论的是数组名,且出现了指向出现了存储,哪里就可能有问题了。

另外可以看看 http://bbs.chinaunix.net/thread-4060180-1-1.html

论坛徽章:
0
16 [报告]
发表于 2014-01-17 17:29 |只看该作者
本帖最后由 zamely 于 2014-01-17 17:31 编辑

回复 15# gvim


    谢谢详细回答,算是初学者,说实话你说的这帖子我看的好累呀。思考后,我对于这个问题的解释是:数组名只是提供了一个我们访问数组元素的方法,这些引用、指向什么的它是给编译器去解释的,而不会再内存中储存!请问这样对么?

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
17 [报告]
发表于 2014-01-17 22:46 |只看该作者
本帖最后由 gvim 于 2014-01-17 22:53 编辑

回复 16# zamely

是的,可以这样认为。C语言里数组名是静态的,指针是动态的。由于虚拟内存的线性性质,数组的索引在形式上可以用指针来处理,而数组名所表示的地址看起来也确实像一个指针(还有退化为指针的情况),因此很容易造成困扰。int a[10]; int *b = a; sizeof(a) 和 sizeof(b)的不同可以说明这一点。

论坛徽章:
0
18 [报告]
发表于 2014-01-18 19:00 |只看该作者
回复 17# gvim


    明白了,非常感谢你拉~

论坛徽章:
0
19 [报告]
发表于 2014-01-18 20:45 |只看该作者
数组和指针是两码事。

别被无良老师忽悠了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP