title: Allocation of memory for char array
body: <p>Let's say you have-</p>
  
  <pre><code>struct Person {
      char *name;
      int age;
      int height;
      int weight; 
   };
  </code></pre>
  
  <p>If you do-</p>
  
  <pre><code>struct Person *who = malloc(sizeof(struct Person));
  </code></pre>
  
  <p>How would C know how much memory to allocate for <strong>name</strong> variable as this can hold a large number of data/string? I am new to C and getting confused with memory allocation.</p>