我个人对二维数组的深刻理解

#include<iostream.h>
/*void main()
{
void *p;
float x=5;
p=&x;
cout<<p<<endl;


}*/
//p[i*n+j]=a[i][j],用一维指针表示二维数组
/*void main()
{
int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
int *p;
p=&a[0][0];//或者p=a[0]
cout<<p[0*3+0]<<p[0*3+1]<<p[0*3+2]<<endl;
cout<<p[1*3+0]<<p[1*3+1]<<p[1*3+2]<<endl;
}*/
void main()
{
int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
int (*p)[3];//*p表示存放有3个元素的指针首地址
p=a;
cout<<p[0][0]<<p[0][1]<<p[0][2]<<endl;
cout<<p[1][0]<<p[1][1]<<p[1][2]<<endl;
//一般方法
cout<<*(*a)<<*(*a+1)<<*(*a+2)<<endl;
cout<<*(*(a+1)+0)<<*(*(a+1)+1)<<*(*(a+1)+2)<<endl;

cout<<a[0][0]<<a[0][1]<<a[0][2]<<endl;

cout<<a[1][0]<<a[1][1]<<a[1][2]<<endl;
}

//最经典的是用指针数组,显然,指针数组含义就是用来存放指针的数组

void main()

{

int *a[4];

//int b[3][4]={{1,2,3}{4,5,6}{7,8,9}{10,11,12}}另一种方法

//a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];

int b0[]={1,2,3},b1[]={4,5,6},b2[]={7,8,9},b3[]={10,11,12};

a[0]=b0;

a[1]=b1;

a[2]=b2;

a[3]=b3;

cout<<a[0][0]<<a[0][1]<<a[0][2]<<endl;

cout<<a[1][0]<<a[1][1]<<a[1][2]<<<endl;

int **p;

p=a;

cout<<p[0][0]<<p[0][1]<<p[0][2]<<endl;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值