Chinaunix

标题: 总觉得二维数组,指针数组,二级指针。这三个有着微妙的关系。(此帖作废)- - [打印本页]

作者: _HellAngel_    时间: 2013-01-27 17:09
标题: 总觉得二维数组,指针数组,二级指针。这三个有着微妙的关系。(此帖作废)- -
本帖最后由 _HellAngel_ 于 2013-01-29 00:32 编辑

不知道这之间的区别与联系是如何。。。。= =
作者: linux_c_py_php    时间: 2013-01-27 21:34
没有一丁点联系...

数组是连续内存,

指针数组是连续内存里放了几个指针,

二级指针还是一个指针, 存储了一个地址, 那个地址上的内存存储了一个指针.
作者: _HellAngel_    时间: 2013-01-27 22:08
回复 2# linux_c_py_php

噢。。那是不是很容易弄混。。= =。。。感觉这三个概念。。。很容易混淆= =
   
作者: Ager    时间: 2013-01-27 22:13
_HellAngel_ 发表于 2013-01-27 17:09
不知道这之间的区别与联系是如何。。。。= =


楼主兄弟,不妨用你自己动手写出的代码,表达你的理解或困惑。。

呵呵:)


作者: _HellAngel_    时间: 2013-01-27 22:49
回复 4# Ager


好吧。。我写了下几个申明。。发现我好像搞错了。。= =。。
  1. char xx[2][10]
复制代码

  1. char *xx[10]
复制代码
  1. char **xx
复制代码
此贴作废了。。= =。。。貌似的确完全没什么联系。。= =
作者: pmerofc    时间: 2013-01-27 23:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: _HellAngel_    时间: 2013-01-27 23:27
回复 6# pmerofc

恩。。看来我对数组的理解还是停在表面= =。。不然总觉得自己理解了数组。。但是指针就是稍微带着点模糊= =。。。我还是再回去用用数组了= =。。。
   
作者: Frahm    时间: 2013-01-28 01:41
http://blog.csdn.net/supermegaboy/article/category/622235
看看这个吧,写的很好
作者: Ager    时间: 2013-01-28 03:37
本帖最后由 Ager 于 2013-01-28 03:38 编辑
_HellAngel_ 发表于 2013-01-27 22:49
回复 4# Ager

好吧。。我写了下几个申明。。发现我好像搞错了。。= =。。

    char xx[2][10]
    char *xx[10]
    char **xx


你在这里所写的,是声明语境下的数组/指针,这只是数组/指针在代码语境中的一部分。

除此之外,你对表达式语境下的数组/指针,函数参数传递语境下的数组/指针这些,是怎么理解和运用的?困惑在哪里?不妨也由你的代码表达出来。

再此外,还有一个先于上述一切的重点,那就是:概念化的数组/指针 —— 倘若在这个首要问题上,你没搞清楚的话,那么对于后来的东东,你很可能就会无的放矢了。。。

呵呵 …… :)


作者: 塑料袋    时间: 2013-01-28 14:01
可怜的楼主,已经彻底被pmerofc,ager,starwing83他们几个给弄脑残了。

他们最擅长的就是简单问题复杂化,搞得一切都很微妙神秘一样。
作者: Ager    时间: 2013-01-28 14:37
本帖最后由 Ager 于 2013-01-28 14:39 编辑
塑料袋 发表于 2013-01-28 14:01
搞得一切都很微妙神秘一样。




不,我的目的,反而是让编程回到更加直观的现场:

看似晦涩的词句,实际上是为了把事情说得更准确,并且让楼主知道,程序(代码)中的数组/指针的层次划分有许多,远远不止写几则关于它们的声明那么简单。。

所谓“声明语境下的数组/指针” —— 就是让楼主自己用代码,把关于数组/指针的声明写出来。(这一点,楼主已经做到了。)

所谓“表达式语境下的数组/指针” —— 就是让楼主自己编写程序,其中使用一些关于数组/指针的表达式,比如用上*、[]、->、+、-、. 等运算符。

所谓“函数参数传递语境下的数组/指针” —— 就是让楼主自己编写程序,让数组/指针成为函数的实参以及形参。

所谓“概念化的数组/指针” —— 就是数组/指针在楼主的脑子里,到底是以一个“像什么”的形态被思考的,这是关于上述一切思考的前提。

我是让楼主用他自己的代码说话,就是回到编程的现场,体现出他对概念的理解与困惑。

这麽做,就是为了言之有物、有的放矢。

呵呵 :)







作者: _HellAngel_    时间: 2013-01-28 22:04
回复 8# Frahm

恩。。谢谢。。嘿嘿。。
   
作者: _HellAngel_    时间: 2013-01-28 22:05
回复 9# Ager

我感觉我给自己挖了一个坑= =。。我完全想不到哪里可以用到二维数组这东西= =。。
   
作者: _HellAngel_    时间: 2013-01-28 22:06
本帖最后由 _HellAngel_ 于 2013-01-29 00:53 编辑

回复 10# 塑料袋

- -。。谢谢= =。。我觉得是我自己想多了。。呵呵= =。。还是不要扯上其他人。。。
   
作者: _HellAngel_    时间: 2013-01-29 00:20
回复 4# Ager

我后来想了一下= =。。的确想错了。。。- -。。。可能我当初说他们之间的所谓的“联系”大概就是 = =。。同一个程序达到一个目的这三个可以达到吧= =。。。好像也就这个联系了= =。。。但是它们本身是没什么联系的= =。。。恩= =。。。想明白了= =。。不过具体的一个程序= =。。。。我想不到一个简单的程序用来写= =。。可能只有复杂的= =。。
   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2