void func(?????)
1.array作为指针变量,指向3个int型的数组
void print(int (*array)[3] )
2.作为指针数组,这个数组包含3个int变量
void func(int *array[][3])
2.二级指针
void func(int(**array))
1.
#include <stdio.h>
#include <stdlib.h>
void print(int (*array)[3] )
{
int i, j;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
printf("%d",array[i][j]);
}
int main()
{
int a[3][3], i, j;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
a[i][j] = i + j;
print(a);
system("pause");
return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
void print(int *array[][3])
{
int i, j;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
printf("%d", array[i][j]);
}
int main()
{
int a[3][3], i, j;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
a[i][j] = i + j;
print(a);
system("pause");
return 0;
}
3.
#include <stdio.h>
#include <stdlib.h>
void print(int(**array))
{
int i, j;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
printf("%d", *(int*)array+i+j);
}
int main()
{
int a[3][3], i, j;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
a[i][j] = i + j;
print(a);
system("pause");
return 0;
}