设有5×8的数组A,其每个元素占2个字节,已知A[3][6]在内存中的地址是146,按列优先顺序存储,A[1][4]的地址是_________ 。
时间: 2024-01-12 14:04:53 浏览: 23
首先,每个元素占2个字节,数组总共有5×8=40个元素,因此数组占用的字节数为40×2=80。
按列优先顺序存储,意味着先存储第一列的所有元素,然后是第二列的所有元素,依次类推。
由于A[3][6]在内存中的地址是146,可以推算出A[1][6]的地址为146 - 2×(3×8+6-1) = 114。
同样地,A[1][4]的地址为114 - 2×(4-1) = 106。
因此,A[1][4]的地址是106。
相关问题
数组a中每个元素占用的字节函数
要计算数组a中每个元素占用的字节数,可以使用以下函数:
```c
size_t sizeof_element(int* a) {
return sizeof(a[0]);
}
```
该函数使用 `sizeof` 运算符返回数组中第一个元素的大小,即每个元素占用的字节数。注意,该函数的参数类型为 `int*`,因此它假设数组中的元素类型为 `int`。如果数组中的元素类型不同,需要相应地修改函数的参数类型和返回类型。
设有二维数组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。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)