这个问题是在我的作业中给出的,但我对数组声明的符号感到非常困惑。你知道这应该表达什么吗?
给定一个以列为主序存储的二维数组a[2:3, 9:18],其基址为100,每个元素的大小为4字节。查找A[4,12]的地址
当你计算二维数组元素的地址时,你需要知道它们是如何组织的。列主排序告诉您,2D数组是作为列列表排列的。这意味着每个连续的元素都是一列中的下一个元素,它环绕到下一个相邻的列。
如果知道数组的维数、基地址和元素大小,就可以计算出特定行和列上元素的地址。下面是计算行为主有序数组中元素地址的公式。如果您能理解这一点,就可以将其修改为适用于列为主数组。
addr = base_addr + row * num_cols * elem_size + col * elem_size;