title: Convert uint_8* to any type, say "double" or a struct, in C?
body: <p>In C language, I have a piece of program like</p>
  <pre><code>void foo(A a);
  </code></pre>
  <p>here, the type A is known. It can be any type, int, pointer, or struct, or any user-written type.</p>
  <p>Now I have a piece of data pointed by a pointer, say <code>uint8_t* data</code> of size <code>n</code> How can I convert <code>data</code> to <code>a</code> of type A?</p>
  <p>I am working on this to test foo, from a random data of type <code>uint8_t*</code> and size <code>n</code>, using a fuzzing backend.</p>