title: Understanding char * to int * conversion and its meaning
body: <p>I have the following simple piece of code,</p>
  
  <pre><code>unsigned long the_function(const char* p){
          int* ip = (int*)p;
          printf("%d\n",ip);
  }
  </code></pre>
  
  <p>I know that the first line cast is meaning less but that the code given to me.</p>
  
  <p>Now when i just pass "a" to the function i get the constant output</p>
  
  <pre><code>4196024
  </code></pre>
  
  <p>could someone explain to me what is the meaning.</p>