Help for three dimensional function call

bashamsc's Avatar, Join Date: May 2007
Go4Expert Member
Please any one can help me regarding function call for three dimensional array.

How to send result of three dimensional array to main function.
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
You need to pass the pointer.
0
bashamsc's Avatar, Join Date: May 2007
Go4Expert Member
Can u explain me with an example please.
0
Salem's Avatar, Join Date: Nov 2007
Ambitious contributor
For any array, say
Code:
int arr[2][3][4];
You can prototype your function as
Code:
void foo ( int arr[2][3][4] );
And define your function as
Code:
void foo ( int arr[2][3][4] ) {
  // do stuff with arr[x][y][z]
}
In other words, copy/paste the declaration of the array you want to pass into the function, into the parameter declaration of that function.

Note that all these are equivalent.
Code:
void foo ( int arr[2][3][4] );
void foo ( int arr[][3][4] ); // size of major dimension is optional
void foo ( int (*arr)[3][4] ); // using explicit pointer notation



The call to the function would be just
Code:
foo( arr );
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Share the code you are having trouble and we can look into it and show you the problem areas.