A program in C++ involving pointers
<p>I cannot understand the output of this program:</p>

<pre><code>void main(){
    double d=3.1416;
    char ch=*(char*)&amp;d;
    cout&lt;&lt;ch;
    }
</code></pre>

<p>OUTPUT: 2</p>

<p>Note: The 2 is of much smaller size than the usual 2.</p>

<p>Can you please explain the meaning of line 3.
Thank You.</p>