更多“若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j ”相关问题
  • 第1题:

    设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
    A.(j*m+i)*4
    B.(i*m+j)*4
    C.(j*n+i)*4
    D.(i*n+j)*4

    答案:B
    解析:
    【解析】由于a[i,j](0≤i

  • 第2题:

    若有以下定义和赋值语句,int s[2][3]={0},(*p)[3];p=s; 则对s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为:

    A.*(p+i)+j

    B.*(p[i]+j)

    C.(p+i)+j

    D.(*(p+i))[j]


    D 本题考查数组指针的使用。本题中,int(*pt)[3];定义了一个名为pt的指针变量,它可以指向每行有3个整型元素的二维数组。故选D。

  • 第3题:

    若二维数组a有m列,则计算任一元素 a [ i ] [ j ] 在数组中映射关系为()

    A.a[0][i*m+j]

    B.a[0][j*m+i]

    C.a[0][i*m+j-1]

    D.a[0][i*m+j+1]


    D24

  • 第4题:

    设数组a[0...n-1,0...m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
    A.(j*m+i)*4
    B.(i*m+j)*4
    C.(j*n+i)*4
    D.(i*n+j)*4

    答案:B
    解析:
    数组元素的存储地址=数组空间首地址+偏移量,其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按行存储(以行为主序存放)方式下,从第0行和0列开始算起,每一行有m个元素,每一列有n个元素,每个元素占用4个存储单元,在a[i,j]前面已经有i行元素,然后在本行中,前面有j个元素,所以a[i,j]相对于数组空间首地址的偏移量为(i*m+j)*4。

  • 第5题:

    4、若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。

    A.m[--i]

    B.m[2*2]

    C.m[m[0]]

    D.m[m[i]]


    -12