A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请问用指针怎么访问二维数组,比如int a[4][5],我怎么用指针访问 a[1][2] 这个元素呢?好纠结

2 个回复

倒序浏览
本帖最后由 13673696542 于 2015-5-25 16:35 编辑

数组在是线性排列的可以看作一个长度为20一维数组,a[1][3]为这个一维数组的第(1*5+2)个元素。你可以定义一个指针P,然后把*a的值赋值给P那么a[1][2]就是*(P+(1*5+2)).
回复 使用道具 举报
int *p=a;
int x=*(p+(1*5+2));
printf("a[1][2]=%d,x=%d",a[1][2],x);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马