Passing two dimensional array to a function

Hi.
I have a problem with passing two dimensional array to a function.

First, let me show my code to explain what i am going to do:
I have function:

void initialize_board(char board[][BOARD_SIZE]);

which is supposed to modify content of passed array. I have read here: Question 6.18 how such arrays should be passed. This is how I call my function:

initialize_board(all_games[slot].board);

according to what mentioned FAQ says.
all_games is a pointer to array of structures, so all_games[slot] is one of this array element and board is a member of structure.
The problem is that I am not sure about it. Is this all_games[slot].board passed by value or reference? I need to keep modifications after function initialize_board finishes, so I should probably use some pointers, but I have no idea how.
Do you have any ideas?

An array amounts to a constant pointer, so it's passed by reference already.

It depends on what is the type of "board"...is it a 1 or 2 dimensional array.

Show how you have declared the board structure.

Board is char board[BOARD_SIZE][BOARD_SIZE];
As Corona688 said, it is already passed as reference in my case. I should have checked this more carefully before posting.

Thank you for your help :slight_smile: