多维数组与指针
来源:互联网 发布:手机如何开淘宝网店 编辑:程序博客网 时间:2024/05/17 06:06
1.指向数组元素的指针变量
实例代码:
#include<iostream>using namespace std;int main(){int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int *p;for(p=a[0];p<a[0]+12;p++){cout<<*p<<" ";}cout<<endl;return 0;}
p=a[0]等价于p=&a[0][0],而不可以使p=a。因为,a指向的是a[0](二维数组的首行,即指向一个一维数组);而a[0]是指向a[0][0](即二维数组中的第一个元素)
#include<iostream>using namespace std;int main(){int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int *p;for(p=&a[0][0];p<a[0]+12;p++){cout<<*p<<" ";}cout<<endl;return 0;}
2.指向由m个元素组成的一维数组的指针变量
我们可以定义一个指针变量,它不指向一个整型变量,而是指向一个包含m个元素的一维数组。
int (*p)[4]表示p是一个指针变量,它指向包含4个整形元素的一位数组
即,使p指向a[0],则p+1不是指向a[0][1],而是指向a[1],p的增值以一位数组的长度为单位。
#include<iostream>using namespace std;int main(){int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int (*p)[4];int i,j;p=a;for(i=0;i<3;i++){for(j=0;j<4;j++){ cout<<*(*(p+i)+j)<<" ";}}cout<<endl;return 0;}
其中*(*(p+i)+j)就等价于p[i][j];
#include<iostream>using namespace std;int main(){int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int (*p)[4];int i,j;p=&a[0];for(i=0;i<3;i++){for(j=0;j<4;j++){ cout<<p[i][j]<<" ";}}cout<<endl;return 0;
- 多维数组与多维指针
- 多维数组与指针
- 指针与多维数组
- 指针与多维数组
- 多维数组 与 指针
- 多维数组与指针
- 多维数组与指针
- 指针与多维数组
- 指针与多维数组
- 多维数组与指针
- 多维数组与指针
- C++多维数组与指针
- 多维数组与指针 精析
- 多维数组与指针 精析
- 数据类型 - 多维数组与指针
- 多维数组与指针 精析
- 指针与多维数组(2)
- 多维数组(名)与指针
- 十道海量数据处理面试题与十个方法大总结
- hdu2112(Dijkstra+map)
- 如何使用ACE的日志系统
- 第二章C#与.NET
- jQuery的表格插件datatables
- 多维数组与指针
- 求教flask框架的学习方法
- 关于android adb 进程占用的解决方法
- hdu 4619 Warm up 2
- Linux - CentOS5.5 JDK-6u32-linux-i586.bin 或者jdk-6u35-linux-i586.bin的安装
- Word Search
- STL删除vector或list的方法及注意的问题
- magento怎么修改货币符号,在之前加上国家缩写
- 2013 多校联合 2 A Balls Rearrangement (hdu 4611)