搜索
编程论坛
→
开发语言
→
『 数据结构与算法 』
→ 用寻址公式访问和直接推算访问元素的存储位置有什么区别?
标题:
用寻址公式访问和直接推算访问元素的存储位置有什么区别?
只看楼主
香帅之枫
来 自:浙江
等 级:
新手上路
帖 子:4
专家分:7
注 册:2011-4-24
楼主
问题点数:0 回复次数:4
用寻址公式访问和直接推算访问元素的存储位置有什么区别?
设a*b分别是m*n和n*m矩阵,均按行序存储在一维结构中,请问别用两种方法计算a*b的程序。这两种方法是:
1.采用二维数组的寻址公式访问元素 2.不采用寻址公式,而直接推算要访问的元素的存储位置。
这个问题中两种方法是想要怎么样访问啊?是想
a[i]和*a+i
这样两种吗??呵呵好像不是哈!求高手告知
搜索更多相关主题的帖子:
元素
2011-04-28 00:29
香帅之枫
来 自:浙江
等 级:
新手上路
帖 子:4
专家分:7
注 册:2011-4-24
第
2
楼
得分:0
不懂啊 高手回复我啊
香帅之枫
2011-04-28 00:30
寒风中的细雨
等 级:
贵宾
威 望:
66
帖 子:1710
专家分:8645
注 册:2009-9-15
第
3
楼
得分:0
1 和 2 的目的都是取数据 而数据的存放(一维数组)都是一样 如果是要取相同的数据 只是知道数据的首地址 那么只有计算偏移量
偏移量的计算只有根据矩阵的行号和列号来定位 不然不可能准确的找到需要的数据 所以肯定要找到某个数不论你1还是2偏移量都是相等的 只是表现的形式不同而已
例如:a[m][n] 表示一个矩阵m*n 要找到里面的一个元数a[j][i]的值
1) *(a+j*n+i)//二维的计算方法
2) a[j*n+i]//一维
看不出有什么实质的差别 只不过一个是以指针的形式呈现 一个是以数组的形式
2011-04-28 16:44
香帅之枫
来 自:浙江
等 级:
新手上路
帖 子:4
专家分:7
注 册:2011-4-24
第
4
楼
得分:0
回复 3楼 寒风中的细雨
谢谢回复哈!那么说我的那种理解是对的喽??就是这么回事吗?
香帅之枫
2011-04-28 23:26
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
5
楼
得分:0
就是没什么区别。语言表达上形式不的区别而已。
比如 “书在桌上” 和 “桌上有书” 两个说法都在描述同一个事实。
但是由于主语和谓语用的不一样,给人的感觉不一样。不管你如何理解,书和桌子的关系反正还那样。
本来是二维数组的东西,用下标访问,就比较清楚,也符合数学里的记法。
用指针就比较乱,而且由于看着跟数学公式很不一样了,所以可能会混淆视听。
不过这些混淆不了编译器就是了。
2011-05-05 16:51
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-338186-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.481590 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved