Passing two dimensional array to a function


 
Thread Tools Search this Thread
Top Forums Programming Passing two dimensional array to a function
# 1  
Old 06-19-2011
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:
Code:
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:
Code:
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?
# 2  
Old 06-20-2011
An array amounts to a constant pointer, so it's passed by reference already.
# 3  
Old 06-20-2011
Quote:
Originally Posted by Shang
This is how I call my function:
Code:
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.
It depends on what is the type of "board"...is it a 1 or 2 dimensional array.
Quote:
Originally Posted by Shang
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?
Show how you have declared the board structure.
# 4  
Old 06-20-2011
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 Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Multi Dimensional array

I have an array of names. Each one of the name, has a number represented to it. For example A has an ID 8, B has an ID 2. What I am after is a for loop that when the array is in position 1, a particular variable is set to the value of position 1 in array 2 declare -a arr=("A" "B" "C"... (6 Replies)
Discussion started by: nms
6 Replies

2. Programming

Return two dimensional array in c++

I am writing matrix multiplication and trying to return a two dimensional array from a function but I keep getting errors. Can someone please help me? here is my code (it is just the skeleton of my program): void main () { ... int *matmultiply (int, int, int, int , int , int ) ... } ... (4 Replies)
Discussion started by: saboture88
4 Replies

3. Programming

[solved]help passing array of structs to function in c

this is my code to try and prinnt out a deck of cards. the print function worked when used inside main without being a function but now i cant get it to work as a function probably since i dont know how to pass a struct array in c. I gave it a shot but i keep getting an assortment of errors. The... (0 Replies)
Discussion started by: bjhum33
0 Replies

4. Shell Programming and Scripting

PHP: Search Multi-Dimensional(nested) array and export values of currenly worked on array.

Hi All, I'm writing a nagios check that will see if our ldap servers are in sync... I got the status data into a nested array, I would like to search key of each array and if "OK" is NOT present, echo other key=>values in the current array to a variable so...eg...let take the single array... (1 Reply)
Discussion started by: zeekblack
1 Replies

5. Shell Programming and Scripting

[bash] passing array to function

Hi, I'm trying to write a function that reassigns an array to another local array but the method used in reassigning the array reformats the contents of the array which is what I am trying to prevent. The method used to load a file into an array works as expected and the entire array is... (4 Replies)
Discussion started by: ASGR
4 Replies

6. Shell Programming and Scripting

2 dimensional array in unix

I am trying to implementing two dimensinal array in ksh script.Would you pls help me out. I have a large size of file, File contains looks like ID SID VLAUE1 VALUE2 TOTALVALUE 1 a1 01 02 03 1 b1 02 05 07 ... (2 Replies)
Discussion started by: pritish.sas
2 Replies

7. Shell Programming and Scripting

Perl Function Array Arguement Passing

Hi All, I have some questions regarding array arguements passing for Perl Function. If @array contains 2 items , arguements passing would be like Code_A. But what if @array needs to add in more items, the rest of the code like $_ will have to be modified as well (highlighted in red), which is... (5 Replies)
Discussion started by: Raynon
5 Replies

8. Shell Programming and Scripting

[BASH - KSH] Passing array to a function

Passing a array to a function, a basic feature in modern language, seems to be only possible in KSH. Not in BASH. Depite all my efforts I couldn't come to a solution. See the following examples: It works perfectly in KSH: #!/usr/bin/ksh function print_array { # assign array by indirect... (3 Replies)
Discussion started by: ripat
3 Replies

9. Shell Programming and Scripting

Help for record (2 dimensional array.)

I am going to develop a address book using the shell scripting commands without sed, awk, .... I am thinking to apply the concept of 2 dimenstional array. Can I create a two dimensional array for the insertion/updation/deletion of record in unix. If yes then tell me plz or recommend me some... (1 Reply)
Discussion started by: murtaza
1 Replies

10. Shell Programming and Scripting

Reference two dimensional array in Perl sub

I am trying to reference a two dimensional array in a subroutine and can't seem to figure this one out in Perl. Does anybody know? Please enlighten me. #!/usr/bin/perl -w use constant DIM => 4; sub Shift_elements_right{ my (@Input, @Output) = @_; for ($i = 0 ; $i <= DIM ;... (5 Replies)
Discussion started by: photon
5 Replies
Login or Register to Ask a Question