还有一道很基础的题目。不过都忘了。:(

pinglv 2005-08-12 07:11:52
一个数租,行下标0-8,列下标1-5,每个数据占据4各字节,第一个数据的首地址是0,最后

一个的首地址是(),按照行地址方式,A[3][5]和A[5][3]的首地址是什么,按照列地址方式

,A[7][1]和A[6][3]的首地址是什么?
...全文
157 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocai0001 2005-08-12
  • 打赏
  • 举报
回复
行优先法:
 j 1  2  3  4 5 每行的首地址
i ┌─┬─┬─┬─┬─┐
0 │0 │1 │2 │3 │4 │ 0
 ├─┼─┼─┼─┼─┤
1 │5 │6 │7 │8 │9 │ 5*4
 ├─┼─┼─┼─┼─┤
2 │10│11│12│13│14│ 10*4
 ├─┼─┼─┼─┼─┤
3 │15│16│17│18│19│ 15*4
 ├─┼─┼─┼─┼─┤
4 │20│21│22│23│24│ 20*4
 ├─┼─┼─┼─┼─┤
5 │25│26│27│28│29│ 25*4
 ├─┼─┼─┼─┼─┤
6 │30│31│32│33│34│ 30*4
 ├─┼─┼─┼─┼─┤
7 │35│36│37│38│39│ 35*4
 ├─┼─┼─┼─┼─┤
8 │40│41│42│43│44│ 40*4
 └─┴─┴─┴─┴─┘
             i*5 *4
第(i,j)个数组元素首地址=第i行首地址+行内偏移地址
 =(i*5 + j-1) * 4
所以:
&A[3][5] = 76
&A[5][3] = 108

列优先法
 j 1  2  3  4 5 每行的首地址
i ┌─┬─┬─┬─┬─┐
0 │0 │9 │18│27│36│ 
 ├─┼─┼─┼─┼─┤
1 │1 │10│19│28│37│ 
 ├─┼─┼─┼─┼─┤
2 │2 │11│20│29│38│ 
 ├─┼─┼─┼─┼─┤
3 │3 │12│21│30│39│ 
 ├─┼─┼─┼─┼─┤
4 │4 │13│22│31│40│ 
 ├─┼─┼─┼─┼─┤
5 │5 │14│23│32│41│ 
 ├─┼─┼─┼─┼─┤
6 │6 │15│24│33│42│ 
 ├─┼─┼─┼─┼─┤
7 │7 │16│25│34│43│ 
 ├─┼─┼─┼─┼─┤
8 │8 │17│26│35│44│ 
 └─┴─┴─┴─┴─┘
每列首地址
  0 9*4 18*4 27*4 36*4 (j-1)*9 *4
第(i,j)个数组元素首地址=第j行首地址+列内偏移地址
 =( i + ( j - 1 ) * 9 ) * 4
所以:
&A[7][1] = 28
&A[6][3] = 96
superpingl 2005-08-12
  • 打赏
  • 举报
回复
是不是太太基础了阿
不过我还是搞不明白
jixingzhong 2005-08-12
  • 打赏
  • 举报
回复
楼上的这么急干什么 ? 呵呵
lyclowlevel 2005-08-12
  • 打赏
  • 举报
回复
错了,错了,我题目看错了。
sorry!sorry!
应该是:
i*5+i;(行优先)
8*(j-1)+j-1;(列优先)
lyclowlevel 2005-08-12
  • 打赏
  • 举报
回复
错了,忘了乘以4。
lyclowlevel 2005-08-12
  • 打赏
  • 举报
回复
假设,一个元素的行下标是i,列下标是j。
以行优先的话:i*j+i;
以列优先的话:i*j+j;

最后,问一下,这应该是数构作业吧?
lewe 2005-08-12
  • 打赏
  • 举报
回复
A[5][3]=27
pinglv 2005-08-12
  • 打赏
  • 举报
回复
我需要那个按行优先和按列优先的计算公式。

谢谢
lewe 2005-08-12
  • 打赏
  • 举报
回复
最后一个应该是34吧

A[3][5]=19
A[5][3]=28

A[7][1]=7
A[6][3]=22

pinglv 2005-08-12
  • 打赏
  • 举报
回复
呵呵。以前都学过。现在都忘了,就不会了。
LoveYouJustOneDay 2005-08-12
  • 打赏
  • 举报
回复
不会就是不会
忘记?

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧