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 complex Short s Byte b Long l Int i End complex Complex 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
Please comment below if you find anything wrong in the above post
Please Login to comment...