ISRO | ISRO CS 2020 | Question 12

Following declaration of an array of struct, assumes size of byte, short, int and long are 1, 2, 3 and 4 respectively. Alignment rule stipulates that n-byte field must be located at an address divisible by n. The fields in a struct are not rearranged, padding is used to ensure alignment. All elements of array should be of same size.

Struct complx
  Short s
  Byte b
  Long l
  Int i
End complx
Complx C[10] 

Assuming C is located at an address divisible by 8, what is the total size of C, in Bytes ?
(A) 150
(B) 160
(C) 200
(D) 240


Answer: (B)

Explanation: Size of complex data type will be,

= 2 + 1 + 4 + 3 
= 10 Bytes 

But, address divisible by 8, so, it should be minimum,

= 10+6 
= 16 Bytes 

Therefore, total size of such 10 data types,

= 16*10
= 160 Bytes 

So, option (B) is correct.

Quiz of this Question

My Personal Notes arrow_drop_up
Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.