float x=10,p,q,r; p=&x; q=&p; r=&q; what is sizeof(r)? (in 16 bit machine)
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.