Advertisement

二维数组存储地址关联

阅读量:

给定下列声明 :

复制代码
 int array[4][2];

    
  
    
    
    
    
    AI写代码cpp

请计算出每个表达式的值,并假设该数组起始地址为1 1. 起始地址为1 2. 整数值占用两个字节的空间,并注意:此处的1 3. 是指十进制数值

计算以下表达式值:

  • array
  • array+2
  • array[3]
  • array[2]-1
  • &array[1][2]
  • &array[2][0]

首先我们看一下这个表达式定义int array[4][2];表示一个4行2列的数组。

1000 1002
1004 1006
1008 1010
1012 1014

array表示数组起始地址1000(十进制);

->1008

array+2 代表的是一个指向包含四个二维整型数组指针的变量,并且这个指针位于 array 的下一行位置上(即第3行)。它的内存地址是从第3行开始计算得出的结果为 1008(十进制)。

->1012

在内存中使用数组时,在首地址之后的第三个存储单元对应的是第四行。其对应的内存结构构成

全部评论 (0)

还没有任何评论哟~