您的位置:首页 > 其它

三种方法进行二维数组遍历输出---下标法、行指针、列指针

2012-12-24 20:28 453 查看
/*
二维数组遍历输出(3种方法)
(1)下标方法
(2)列指针方法
(3)行指针方法
*/
#include <iostream>
using namespace std;

void output_Subscript(int p[][4],int n);
void output_Line(int p[][4],int n);
void output_Column(int *p,int n);

int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
cout<<"(1)下标法进行二维数组输出"<<endl;
output_Subscript(a,3);
cout<<"(2)行指针法进行二维数组输出"<<endl;
output_Line(a,3);
cout<<"(3)列指针法进行二维数组输出"<<endl;
output_Column(a[0],12);   // output_Column(&a[0][0],12);
return 0;
}

void output_Subscript(int p[][4],int n) //用二维数组下标形式输出
{
int i,j;
for(i=0;i<n;i++)
{ for(j=0;j<4;j++)
cout<<p[i][j]<<" ";
cout<<endl;
}
}

void output_Line(int p[][4],int n) //用行指针形式输出二维数组
{
int i,j;
for(i=0;i<n;i++)
{ for(j=0;j<4;j++)
cout<<*(*(p+i)+j)<<" ";
cout<<endl;
}
}

void output_Column(int *p,int n) //用列指针形式输出二维数组
{
int i;
for(i=0;i<n;i++)
{ cout<<*(p+i)<<" ";
if((i+1)%4==0)
cout<<endl;
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: