 GFG App
Open App Browser
Continue

# 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 ```

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

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

My Personal Notes arrow_drop_up