title: Does a function prototype convert your actual parameters in C?
body: <p>If you read the linux man page of any function and the prototype uses a keyword like <code>static</code> or <code>restrict</code> for any formal parameter, does C compiler auto-convert your var if the type still matches?</p>
  
  <p>For example:  </p>
  
  <p>Function prototype: <code>int function_name(int* restrict param1, static int param2);</code></p>
  
  <p>Program:  </p>
  
  <pre><code>int *my_var1;
  int my_var2;
  
  //initialization
  (..)
  
  function_name(my_var1, my_var2);
  
  (..)
  </code></pre>
  
  <p>Does <code>function_name()</code> convert or treat my variables like they were declared with <code>restrict</code> and <code>static</code> in each case due the type is still the same?</p>