一级指针遍历二维数组
题目:一级指针遍历二维数组
代码实现:
#include<stdio.h>
int main()
{
int i,j;
int arr[3][3] = {0};
//为数组赋值
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&arr[i][j]);
}
}
putchar('\n');
//打印数组
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",arr[i][j]);
}
putchar('\n');
}
putchar('\n');
int n1 = sizeof(arr)/sizeof(arr[0]);
int n2 = sizeof(arr[0])/sizeof(int);
int* p = arr[0];
//指针遍历二维数组
printf("指针遍历数组:\n");
for(i=0;i<n1*n2;i++)
{
printf("%d ",*(p+i));
//这里的 i 代表的是指针跳过的元素个数
}
return 0;
}
程序运行结果: