title: Do I need to free local variables?
body: <p>I have the following <code>struct</code>:</p>
  
  <pre><code>typedef struct cell Cell;
  struct cell {
      int value;
      int *nextcell;
  };
  </code></pre>
  
  <p>And I have the following function to free a linked list:</p>
  
  <pre><code>void freelist(Cell *beginning)
  {
      Cell *thisCell = beginning;
      Cell *NextCell = beginning-&gt;nextcell;
  
     while (thisCell != NULL)
     {
          NextCell = thisCell-&gt;nextcell;
          free(thisCell);
          thisCell = NextCell;
     }
  
     /* Here comes my question. Do I need to free the following variables? */
     free(beginnig);
     free(thisCell);
     free(NextCell);
  }
  </code></pre>