: .
, :
#include <stdio.h>
int foo(char b[][7])
{
printf("%d\n", b[3][4]);
return 0;
}
int main(int argc, char** argv)
{
char multi_d_arr[20][7];
multi_d_arr[3][4] = 42;
foo(multi_d_arr);
return 0;
}
- , gcc -Wall. , , . .
, , 2-D ? :
char** array2d = malloc((MAX_i+1)*sizeof(char*));
for ( i = 0; i < (MAX_i+1); i++ )
{
array2d[i] = malloc((MAX_j+1)*sizeof(char));
}
, , , , - array2d[MAX_i][MAX_j].
, :
for ( i = 0; i < (MAX_i+1); i++ )
{
free(array2d[i]);
}
free(array2d);
, , , array2d[x][y] - . , array2d - , array2d[i].
? , , . , , for. , int main(int argc, char** argv) . argv - . strlen(), .
? . , , :
int foo(char** ar2d, const unsigned int size);
:
char** somearray;
foo(ar2d, thesizeofar2d);
, (, const unsigned int size) , .
user257111