首页 - 百科 > array是什么意思(array是阴性阳性)

array是什么意思(array是阴性阳性)

发布时间:2023-08-11 13:43:22 阅读:392

array是什么意思(array是阴性阳性)array是什么意思(array是阴性阳性)

  本文原创,转发请著名作者和来源。

  最近在研究C语言二维数组,发现如果单独理解数组名的Array的含义,还真不太好理解。比如现在有一个C语言二维数组:

  int Array[2][2] = { {1, 2}, {3, 4} };

  这个二维数组里包含了两个一维数组,分别是{1,2},{3,4},这个好理解,但是对于Array和Array + 1这两种写法,该怎么理解呢?这篇文章我就说说我自己的心得吧。

  先上一段简单的C语言代码:

  #include

  //编译器名: TDM-GCC 4.9.2 32-bit Release

  //运行平台:windows xp 32bit

  int main(void)

  {

  int Array[2][2] = { {1, 2}, {3, 4} };

  printf(\"Array的值是%p, Array + 1的值是%p\\n\", (void *)Array, (void *)

  (Array + 1));

  printf(\"Array[0][0]的地址是%p, Array[1][0]的地址是%p\\n\", (void *)

  (&Array[0][0]), (void *)(&Array[1][0]));

  return 0;

  }

  运行结果如下:

  从运行结果可以看到,Array的输出值是,Array + 1的输出值是,两者相差了8个字节。

  1.理解C语言二维数组名:Array

  对于二维数组Array这个名字,一般的C语言教材告诉我们,Array是第一个元素的地址。怎么来理解这句话呢?

  如果从我们人脑的角度来理解Array,最形象的理解就是Array是一个大集合,它包含了4个数字:1、2、3、4。用一个图来表示,就像这样子:

  但是计算机可不会像我们人脑来看待Array。从计算机自己的角度来看,它会看到Array标记的内存地址段里有两个一维数组,却看不到每个一维数组里的数字。用一个图来表示,就像这样子:

  也就是说,计算机会认为Array的基本单位是一维数组,而不是一个个具体的数字,理解这个很重要。那么再回过头来看C语言教材的这句话“二维数组名Array是第一个元素的地址”,现在计算机认为Array的元素是一维数组,那么第一个元素就是第一个一维数组{1,2},第一个元素的地址就是第一个一维数组{1,2}的地址。

  同里,对于Array + 1,由于计算机认为Array的元素是一维数组,那么Array + 1就是第二个元素{3,4}的地址。千万不要认为Array + 1就跑到数字“2”去了。记住,计算机处理Array是按照一位数组为单位处理的,不是按照单个数字1、2、3、4来处理的,所以我说计算机认为Array的基本单位是一维数组这句话很重要。而且从运行结果来看,Array + 1的值与Array相差了8个字节,也说明了Array移动是以一维数组为单位移动的。

  欢迎本人微博与:C语言编程技术分享

  2.计算Array的值

  第1点中,我说过Array是第一个元素的地址,而第一个元素是一个一维数组{1,2},那么Array的值就是{1,2}这个一维数组的地址。那么{1,2}的地址是多少呢?当然不是“1”的地址就是“2”的地址咯,你不会拿“2”的地址来作为一维数组{1,2}的地址吧?现在就恍然大悟了,一维数组{1,2}的地址就是首元素“1”的地址,那么Array的值也就是&Array[0][0]的地址啦,跟运行结果一样!

  同里,Array + 1的值是第二个元素的地址,而第二个元素是一维数组{3,4},而一维数组{3,4}的地址是首元素“3”的地址,所以Array + 1的值就是&Array[0][0]。

  3.总结

  本文这是我对Array和Array + 1的意思的一点心得。文字描述没有C语言教材上那么严谨,因为严谨了不利于理解抽象的概念。

  关于二维数组还有一些写法,像Arrya[0],*Array,*Array[0]等等,这些写法又代表什么意思,待续!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件举报,一经查实,本站将立刻删除。

标签: #意思 #阳性

array是什么意思(array是阴性阳性)相关文章

  • 手机生活防水是什么意思

    手机生活防水是什么意思

      手机生活防水是什么意思?如今,手机已经成为人们生活中不可或缺的一部分。无论是看剧、打游戏、聊天还是拍照,手机都能满足我们的大部分需求。但是,手机作为电子产品...

    2023-05-10

  • 抖音男生减速带什么意思

    抖音男生减速带什么意思

      抖音男生减速带什么意思?最后,这个话题在抖音上热度非常高,播放次数达到了2亿多。来看看有哪些热点,或者节目内容,吸引着这么多男生喜欢看的内容了。  所谓的男...

    2023-05-08

  • 红点设计奖是什么意思

    红点设计奖是什么意思

      红点设计奖是什么意思?  红点设计大奖是国际公认的全球工业设计顶级奖项之一,与德国“iF奖”、美国“IDEA奖”并称为世界三大设计奖。每年,一些达到设计品质...

    2023-05-08

  • 羁绊是什么意思

    羁绊是什么意思

      羁绊是什么意思?  羁绊含义:缠住了不能脱身。  两个人羁绊很深:一辈子两人间有某种强烈的联系,如有绳索相连一般,不能割舍,难以割舍的情怀。  羁绊 [ j...

    2023-05-08

  • 蘸水是什么的意思呢

    蘸水是什么的意思呢

      蘸水是什么的意思呢  蘸水(zhàn shuǐ)的意思有两种:  1、意思:物体在水中沾一下就拿出来。  蘸指的是在汁液或粉液末里沾一下就拿出来。  造句:...

    2023-05-05

  • 华为HMS服务是什么意思

    华为HMS服务是什么意思

      华为HMS服务是什么意思呢?  华为hms是华为移动服务的意思。  1.华为移动服务是面向用户提供多重组件的服务。面向用户的有很多App,面向开发者则有HM...

    2023-05-05