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.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
You need to pass the pointer.
bashamsc's Avatar, Join Date: May 2007
Go4Expert Member
Can u explain me with an example please.
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 );
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.