title: Free char pointer in c
body: <p>I am trying to find out filetypes using c code, here is the code</p>
  
  <pre><code>char *get_file_type(char *path, char *filename)
  {
      FILE *fp;
      char command[100];
      char file_details[100];
      char *filetype;
  
      sprintf(command, "file -i %s%s", path, filename);
      fp = popen(command, "r");
      if (fp == NULL) {
          printf("Failed to run command\n" );
          exit(1);
      }
      while (fgets(file_details,  sizeof(file_details)-1, fp) != NULL) {
           filetype = (strtok(strstr(file_details, " "), ";"));
      }
  
      pclose(fp);
      return filetype;
  }
  </code></pre>
  
  <p>here instead of declaring command[], can I use *command? I tried to use it, but it throwed an exception. we dont need to free up variables declared like command[]? if yes how?</p>