title: Meaning of arr +1, *arr+1 , **arr+1 in 3D array
body: <p>I have this question:
  say starting address is 100.</p>
  
  <pre><code>int arr[2][3][2] = {{{2,4},{7,8},{3,4}},{{2,2},{2,3},{3,4}}};
  printf(“%u %u %u %d \n”,arr,*arr,**arr,***arr); // Line 2
  printf(“%u %u %u %d \n”,arr+1,*arr+1,**arr+1,***arr+1); // Line 3
  }
  Answer:
  100, 100, 100, 2
  114, 104, 102, 3
  </code></pre>
  
  <p><strong>Explanation:</strong></p>
  
  <p>For Line 3: <code>arr+1</code> increases in the third dimension thus points to value
  at 114, <code>*a+1</code> increments in second dimension thus points to 104, <code>**arr +1</code>
  increments the first dimension thus points to 102 and <code>***arr+1</code> first gets the
  value at first location and then increments it by 1. Hence is the output of second line.</p>
  
  <p><img src="https://i.stack.imgur.com/dv7bR.png" alt="Memory Layout"></p>
  
  <p>My Question - I tried my best. but i could get what explanation meant for Line 3 ! please explain</p>