34.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA

34.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的.试问:A[5,8]的起始地址为( A )
A.SA+141 B.SA+180 C.SA+222 D.SA+225
为什么要选A呢?请求完整,精确,易懂,仔细的回答!
金之玉叶 1年前 已收到1个回答 举报

失魂人生 幼苗

共回答了7个问题采纳率:100% 举报

公式是这样的:SA+((i-1)*10+(j-1))*3.
这样看好了:A[5,8]总共5行,其中第5行只有8个元素,前4行都是10个元素,这样不难理解(i-1)*10了,为什么要j要-1呢,因为第一个元素的地址是SA,第二个的是SA+1*3.依次类推,公式SA+((i-1)*10+(j-1))*3就是表示在第一个元素的基础上加上偏移量也就是第i*19+j个元素的地址了.
原来把一个问题说得简单明了不是件容易的事,汗.

1年前

8
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 1.773 s. - webmaster@yulucn.com