使用一维数组或指针遍历二维数组
//使用一维数组遍历二维数组
#include <stdio.h>
void print_array(int* a,int length)
{
int i = 0;
for(i=0;i<length;i++)
{
printf("%d: %d
",i,a[i]);
}
}
int main(void)
{
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i = 0;
int j = 0;
printf("a : %p
",a);
printf("&a[0] : %p
",&a[0]);
printf("&a[0][0] : %p
",&a[0][0]);
printf("&a[1] : %p
",&a[1]);
printf("&a[1][0] : %p
",&a[1][0]);
printf("&a[2] : %p
",&a[2]);
printf("&a[2][0] : %p
",&a[2][0]);
//以指针的形式遍历二维数组
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d
",*(*(a+i)+j));
}
}
int *p = &a[0][0]; //二维数组的首元素的地址也为二维数组的地址
print_array(p,9);
printf("---end---
");
return 0;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。