Multiple choice general knowledge science & technology

float x=10,p,q,r; p=&x; q=&p; r=&q; what is sizeof(r)? (in 16 bit machine)

  1. 2

  2. 4

  3. 8

  4. none

Reveal answer Fill a bubble to check yourself
A Correct answer
Explanation

The declaration creates x as float (size 2 in 16-bit), p as pointer to float, q as pointer to pointer, r as pointer to pointer to pointer. The expression r dereferences twice to reach the float value, so sizeof(r) returns the size of float itself, which is 2 bytes in a 16-bit machine. The pointer chain doesn't affect the size of the ultimate float type.