title: Strcat initialized value
body: <p>I have code like this:</p>
  
  <pre><code>char *all_arguments = (char *) malloc(sizeof(char)*argc);
  
  for(int i=1; i&lt;argc; i++) {
      strcat(all_arguments, argv[i]);
  }
  </code></pre>
  
  <p>valgrind output:</p>
  
  <pre><code>==20425== Conditional jump or move depends on uninitialised value(s)
  ==20425==    at 0x4C30C0A: strcat (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==20425==    by 0x40065B: main (main.c:15)
  </code></pre>
  
  <p>What is wrong? I know that I should initialize all_arguments, but when I do "all_arguments = NULL;" I got a segmentation fault.</p>