求助数据结构-数据结构中数组元素存储地址的计算

问题描述

数据结构中数组元素存储地址的计算

数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从兽地址开始连续存放的存储器内,该数组按行存放,元素A[8][5]的起始地址为()
A.Sa+141 B.SA+144 C.SA+222 D.SA+225
答案是C啊,求大神说一下怎么算,要具体过程,谢谢了

解决方案

即使A[8][5]前面有多少个元素,
行下标i从1到8,列下标j从1到10,所有A[8][5]之前共有7*10+4(74)个元素,
每个元素的长度为3个字节,故共有3*74 = 222个字节
首地址是SA,则A[8][5]地址是SA+222

解决方案二:

3*7*10+(5-1)*3

时间: 2024-09-23 21:42:51

求助数据结构-数据结构中数组元素存储地址的计算的相关文章

jsp 网站开发-如何在JSP页面中,把数组中的TreeSet中的实体存储地址变成实体对象

问题描述 如何在JSP页面中,把数组中的TreeSet中的实体存储地址变成实体对象 首先,感谢大家抽时间看我这问题. 问题阐述: 我在做Spring Hibernate和struts整合的实验,之前,我在Action类中已经将要放在页面中的数据,传到JSP页面中,以下是Action类的代码: /** * 显示所有的商品分类 * * * @return */ public void showAllCategory() { try { List<CategoryDTO> resultList =

PHP中数组元素升序、降序及重新排序的函数

在PHP数组学习摘录部分了解到最基本的PHP数组的建立和数组元素的显示.需要深入学习下PHP数组的相关操作.首先接触的就是数组元素的升序.降序的排序问题. 1,快速创建数组的函数range() 比如range()函数可以快速创建从1到9的数字数组: <?php $numbers=range(1,9);echo $numbers[1];?> 当然,使用range(9,1)则创建了9到1的数字数组.同时,range()还可以创建从a到z 的字符数组: <?php $numbers=range

javascript中数组元素删除问题的讨论

var arr=['a','b','c']; 若要删除其中的'b',有两种方法: 1.delete方法:delete arr[1] 这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用 for(index in arr) document.write('arr['+index+']='+arr[index]); 这种遍历方式跳过其中undefined的元素 * 该方式IE4.o以后都支持了 2.数组对象splice方法:

解析PHP中数组元素升序、降序以及重新排序的函数_php技巧

1,快速创建数组的函数range()比如range()函数可以快速创建从1到9的数字数组: 复制代码 代码如下: <?php $numbers=range(1,9);echo $numbers[1];?> 当然,使用range(9,1)则创建了9到1的数字数组.同时,range()还可以创建从a到z 的字符数组: 复制代码 代码如下: <?php $numbers=range(a,z);foreach ($numbers as $mychrs)    echo $mychrs."

c++ 指针-C++中数组指针怎么输出每一个所谓的一维数组的头一个元素

问题描述 C++中数组指针怎么输出每一个所谓的一维数组的头一个元素 #includeusing namespace std;int main(){int a[3][4] = {{1357}{9111315}{17192122}};int (* p)[4];for(p = a; p < a + 3; p++){cout << ((p + 0)) << "" "";cout << *p <<endl;}cout &l

C语言中数组的一些基本知识小结_C 语言

初始化数组 int ages[3] = {4, 6, 9}; int nums[10] = {1,2}; // 其余的自动初始化为0 int nums[] = {1,2,3,5,6}; // 根据大括号中的元素个数确定数组元素的个数 int nums[5] = {[4] = 3,[1] = 2}; // 指定元素个数,同时给指定元素进行初始化 int nums[3]; nums[0] = 1; nums[1] = 2; nums[2] = 3; // 先定义,后初始化 定义但是未初始化,数组中有

Java千百问_06数据结构(014)_java数组如何存储在内存中

1.数组的内存空间是何时分配的 Java中的数组是用来存储同一种数据类型的数据结构,一旦初始化完成,即所占的空间就已固定下来,初始化的过程就是分配对应内存空间的过程.即使某个元素被清空,但其所在空间仍然保留,因此数组长度将不能被改变.  了解什么是数组看这里:java中的数组是什么  当仅定义一个数组变量(int[] numbers)时,该变量还未指向任何有效的内存,因此不能指定数组的长度,只有对数组进行初始化(为数组元素分配内存空间)后才可以使用.  数组初始化分为静态初始化(在定义时就指定数

问题求助 数据结构-数组元素问题求助,谢谢了

问题描述 数组元素问题求助,谢谢了 数组[0...4,-1...-3,5...7]中含有的元素个数是几个,求具体过程,谢谢了 解决方案 http://zhidao.baidu.com/link?url=O98fVXpiAxUuy4iQwfgd7aohW1PhSdfesff57hevRW0QPtOkWV79tuVAiU-LzHzk_aqzzqJxVRZSgvbd5aD1xg-hrDMLR6GYtbZahG-NDFy http://zhidao.baidu.com/link?url=9sW-LsTb

求助-数据结构二维数组问题

问题描述 数据结构二维数组问题 设二维数组A[1...m,1...n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为() A.n*(i-1)+j B.n*(i-1)+j-1 C.i*(j-1) D.j*m+i-1 答案是A,想知道具体的做法和计算过程,谢谢了 解决方案 m行n列,每行有n个,下标(i,j),就是第i行从左至右第j个的位置,而从第一到第i-1行每行都有n个,已经有n*(i-1)个,所以再加上第i行的j就是了 解决方案二: 二维数组作为参数传递问题 解决方案三: