title: Passing array by ref causes compiler warnings - How to use pointer-arithmetic correct here?
body: <pre><code>void foo(int **arr)
  {
      **arr = 5;     // works fine, no warnings and myArray[0] is 5 after call.
      *(arr+5) = 5;  //warning - assignment makes pointer from integer without a cast - why?
      *(arr)[5] = 5; //No warnig but programm would crash
  }   
  
  int main()
  {
  
      int *myArray = (int*)calloc(10,sizeof(int));
  
      foo(&amp;myArray); //no warning but myArray[5] would be still 0
      foo(myArray);  //warning - passing argument 1 of 'foo' from incompatible pointer type (but works fine)
  
      printf(&quot;%d&quot;,myArray[5]);
  
      return 0;
  }
  </code></pre>
  <p>How to pass the array correctly to my function and access myArray[5] without any warnings?</p>