Three dimensional array in c program -
Three dimensional array in c program -
after putting efforts unable solve next question. question asked in graduate aptitude test in engineering science (gate) 2014, india.
question) c programme accessing x[i][j][k], next intermediate code generated compiler. assume size of integer 32 bits , size of character 8 bits.
t0 = * 1024
t1 = j * 32
t2 = k * 4
t3 = t1 + t0
t4 = t3 + t2
t5 = x[t4]
which 1 of next statements source code c programme correct?
(a) x declared "int x[32][32][8]".
(b) x declared "int x[4][1024][32]".
(c) x declared "int x[4][32][8]".
(d) x declared "int x[32][16][2]".
one of book provide solutions previous papers says reply alternative (a). how? explanation
thanks in advance
t1 i * (inumints * sizeof(int)).
so, inumints * 32 = 1024.
thus, inumints = 32.
t1 j * (jnumints * (inumints/sizeof(int)), becasue there 1 j every row of i.
so, jnumints * 1 = 32.
thus, jnumints = 32.
t2 k * (knumints * (inumints/sizeof(int) / ((inumints*jnumints)/sizeof(int)))). (because there 1 i , i rows of j every k)
so, knumints * 1/2 = 4.
thus, knumints = 8.
thus, int x[32][32][8].
c
Comments
Post a Comment