设有二维数组A[6*8],每个元素占用6个字节存储,实现存放,A[0,0]的起始地址为1000,
时间: 2024-05-29 13:09:08 浏览: 11
请问A[3,2]在内存中的地址是多少?
根据二维数组在内存中的存储方式,A[3,2]在内存中的地址可以通过以下公式计算得出:
地址 = 基地址 + [(行下标 * 列数 + 列下标) * 元素大小]
其中,基地址为1000,行下标为3,列下标为2,列数为8,元素大小为6个字节。代入上述公式计算,可得出A[3,2]在内存中的地址为:
1000 + [(3 * 8 + 2) * 6] = 1188
因此,A[3,2]在内存中的地址为1188。
相关问题
设有二维数组A(6*8),每个元素占6个字节存储,实现存放,A00的起始地址为1000,计算
A25的存储地址是多少?
首先,我们需要知道二维数组在内存中的存储方式。对于二维数组A[m][n],它在内存中的存储方式是按行存储,即先存储第一行,然后是第二行,以此类推,直到最后一行。而每行中的元素存储是连续的。
由于题目中数组每个元素占6个字节存储,可以得知数组中每行有8个元素,即每行占用6*8=48个字节的存储空间。
由题可知A00的起始地址为1000,因此A01的存储地址为1000+6=1006,A02的存储地址为1000+2*6=1012,以此类推,可得A25的存储地址为1000+2*48+5*6=1136。
2、设有二维数组A[6*8],每个元素占用6个字节存储,实现存放,A[0,0]的起始地址为1000,请计算: (1)数组A的存储量; (2)数组A的最后一个元素A[5,7]的起始地址; (3)按行优先存放时,元素A[1,4]的起始地址; (4)按列优先存放时,元素A[4,7]的起始地址;
1. 数组A的存储量为:6 * 8 * 6 = 288字节。
2. 数组A的最后一个元素A[5,7]的起始地址为:
```
1000 + (5 * 8 + 7) * 6 = 1398
```
3. 按行优先存放时,元素A[1,4]的起始地址为:
```
1000 + (1 * 8 + 4) * 6 = 1104
```
4. 按列优先存放时,元素A[4,7]的起始地址为:
```
1000 + (4 + 7 * 6) * 6 = 1284
```
按列优先存放时,每列的元素在内存中是连续存放的,因此要先跳过前面4行的元素,再加上7列元素之前的6字节偏移量。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)