c - How to connect a concrete 2D array to a previously defined pointer to a pointer in a header file? -


i trying implement checkers game. have use given header file contains #defines , statements. 1 of them is:

typedef char** board_t; 

i understand pointer pointer char i.e that:

 **board_t = board_t[0][0]  

in checkers.c file implementing methods board 2d array input.

in of them i'm interested in changing board want insert using pointer.

considering header typedef, ok define board way:

char board_t [board_size][board_size]; 

and use in method :

void init_board(board_t){...} 

in writing passing on pointer defined 2d array?

if so, how approach board[i][j] using pointer in method?

if did this:

typedef char** board_t;

then, declare , allocate memory like:

int i; board_t arr = malloc(board_size * sizeof(char *)); for(i = 0; < board_size; i++)     arr[i] = malloc(board_size * sizeof(char)); 

for function defined like:

void init_board(board_t arr){...}

pass on like:

init_board(arr);

some points note:

  • if have used typedef aliasing pointer type, cannot have array-like declaration (where specify 2 index sizes) of newly created type name. must declare , allocate memory pointers.
  • in function init_board can treat parameter arr 2-d array, , refer values arr[row][col].

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -