title: C array not working properly
body: <p>So I have an C string (array of chars) in my main method, when I pass it as parameter into another method, its size changes.</p>
  
  <pre><code>void method(char* arr){
      printf( "%u\n", sizeof(arr) ); //returns 4, in my program.
      arr = "hello "; //executes just fine
      char arr2[9] = "people";
      strcat(arr, arr2); // (1) here is where it crashes down
      int i = 0; while(i &lt; sizeof(arr2)){ arr[i+6] = arr2[i]; i++;} // (2) this causes it to crashdown too
  }
  
  int main(){
      char array[33];
      printf("%u\n", sizeof(array) ); //returns 33, in my program.
      method(array);
  }
  </code></pre>
  
  <p>Why does this happen?, how can I fix it? Does this mean I cannot add more values to the C string? I suspect this may be the cause of the constant crashdown of my program (whenever I try to add n).
  Neither does the line marked by (1) nor (2) works. Is there a workaround?</p>