title: What does "PKc", as the output of typeid(var).name(), mean?
body: <p>I'm getting
  <code>PKc</code> as the output when providing <code>typeid(check).name()</code> - where <code>check</code> is a <code>char</code> variable - as the argument to <code>typeid.name()</code></p>
  <pre><code>#include&lt;bits/stdc++.h&gt;
  using namespace std;
  main()
  { 
      char check='e';
     cout&lt;&lt;typeid(check).name()&lt;&lt;&quot;\n&quot;;
     cout&lt;&lt;typeid(typeid(check).name()).name();
  }
  </code></pre>
  <p>output</p>
  <pre><code>c
  PKc
  </code></pre>
  <p>Getting it even on changing the type of  <code>check</code> from <code>char</code> to <code>double</code></p>
  <pre><code>#include&lt;bits/stdc++.h&gt;
  using namespace std;
  main()
  { 
      double check=69.666;
     cout&lt;&lt;typeid(check).name()&lt;&lt;&quot;\n&quot;;
     cout&lt;&lt;typeid(typeid(check).name()).name();
  
  }
  </code></pre>
  <p>output</p>
  <pre><code>d
  PKc
  </code></pre>
  <p>P.S. The <a href="https://stackoverflow.com/questions/4465872/why-does-typeid-name-return-weird-characters-using-gcc-and-how-to-make-it-prin">solution</a> suggested by @AsteroidsWithWings does provide the bare-bones of the underlying concepts but doesn't specifically answers what &quot;PKc&quot; means.</p>