title: How to connect a concrete 2D array to a previously defined pointer to a pointer in a header file?
body: <p>I am trying to implement a checkers game.
  I have to use a given header file which contains some #defines and statements.
  one of them is: </p>
  
  <pre><code>typedef char** board_t;
  </code></pre>
  
  <p>I understand that this is a pointer to a pointer to a char i.e that:</p>
  
  <pre><code> **board_t = board_t[0][0] 
  </code></pre>
  
  <p>In the checkers.c file I am implementing some methods with a board 2d array input. </p>
  
  <p>In some of them I'm interested in changing the board so I want to insert it using a pointer.</p>
  
  <p>considering the header typedef, is it ok to define the board this way:</p>
  
  <pre><code>char board_t [BOARD_SIZE][BOARD_SIZE];
  </code></pre>
  
  <p>and then to use it in a method :</p>
  
  <pre><code>void init_board(board_t){...}
  </code></pre>
  
  <p>in this writing am I really passing on a pointer to the previously defined 2d array?</p>
  
  <p>if so, how do I approach <code>board[i][j]</code>  using this pointer in the method?</p>