二维数组的指针指向记录
2018-06-17 21:39:24来源:未知 阅读 ()
三条规律:
(一)数组名相当于指向数组第一个元素的指针
(二)&E相当于把E的管辖范围上升了一个级别
(三)*E相当于把E的管辖范围下降了一个级别
注意要点:
(一)&和*的优先级要高于+和-
(二)指向数组的指针的输出为这个数组的起始地址
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int a[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} }; 6 cout << "a=" << a << endl; 7 cout << "&a[0]=" << &a[0] << endl << endl; 8 9 cout << "a+1=" << a + 1 << endl; 10 cout << "&a[0]+1=" << &a[0] + 1 << endl << endl; 11 12 cout << "a[1]=" << a[1] << endl; 13 cout << "&a[1]=" << &a[1] << endl; 14 cout << "*(a+1)=" << *(a + 1) << endl << endl; 15 16 cout << "&a[0][0]+1=" << &a[0][0] + 1 << endl; 17 cout << "*a+1=" << *a + 1 << endl << endl; 18 19 cout << "&a=" << &a << endl; 20 cout << "&a+1=" << &a + 1 << endl; 21 return 0; 22 }
输出结果:(序号不在输出之列,只是为了方便分析)
1. a=009EFC18
2. &a[0]=009EFC18
3. a+1=009EFC28
4. &a[0]+1=009EFC28
5. a[1]=009EFC28
6. &a[1]=009EFC28
7. *(a+1)=009EFC28
8. &a[0][0]+1=009EFC1C
9. *a+1=009EFC1C
10.&a=009EFC18
11.&a+1=009EFC48
结果分析:
1.a指向一维数组a[0]
2.a[0]指向一维数组a[0]的第一个元素,用&进行升级指向一维数组a[0]
3.a指向一维数组a[0],因为一维数组a[0]的管辖范围为a[0][0]、a[0][1]、a[0][2]、a[0][3],+1后指向一维数组a[1]
4.&a[0]指向一维数组a[0],+1后指向一维数组a[1]
5.a[1]指向一维数组a[1]的第一个元素a[1][0]
6.a[1]用&升级后指向数组a[1]
7.a+1指向数组a[1],用*降级后后指向一维数组的第一个元素a[1][0]
8.&a[0][0]指向a[0][0],+1后指向a[0][1]
9.*a指向一维数组a[0]的第一个元素a[0][0],+1后指向第二个元素a[0][1]
10.&a指向二维数组a[3][4],输出时输出它的起始地址
11.&a的管辖范围为a[0][0]……a[2][3],进行+1后指向二维数组a[3][4]之后的地址
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Day2平衡树笔记
- C++ this指针 2020-06-03
- PC微信获取登录二维码 2020-05-18
- 前缀和 2020-05-04
- 纯虚函数与基类指针数组的运用 代码参考 2020-04-30
- STL之deque 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash