免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1785 | 回复: 2
打印 上一主题 下一主题

[C++] 指针与数组 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-19 14:24 |只看该作者 |倒序浏览
指针与数组
        A.一维数组
                数组实际上仅仅是一种表达形式,在内部是被重新转换成指针的。
                int ia0[5];
                int ia1[5]={0,1,2,3,4};
                访问方式:
                ia1[3]        *(ia1+3)        
                这两种都可以访问到数组ia1位置3的元素。
                int * pi=ia1;
                同样也可以
                *(pi+3)
                进行访问数组ia1位置3的元素。
        B.多维数组
                a.多维数组定义与初始化
                int ia2[3][4];
                int ia3[3][4]={{0,1,2,3},{10,11,12,13},{20,21,22,23}};
                b.指针访问
                ia3        &ia3[1]                表示一个指向一维四元的数组指针
                &ia3                                表示一个指向二维3行4列的数组指针
                ia3[1]  &ia3[1][2]        表示一个指向int类型的指针
                c.示例
                int * ip;
                int (*ap)[4];                        //定义指向一维四行的数组指针
                int (*ap2)[3][4];                        //定义指向二维三列四行的数组指针
                ip=ia3[1];                                //指向二行一列元素
                ip=&ia3[1][0];                        //指向二行一列元素
                ap=ia3;                                //指向一行的一维四列数组
                ap=&ia3[1];                        //指向二行的一维四列数组
                cout<<(*ap)[2]<<endl;        //12
                cout<<ap[1][2]<<endl;        //22
                ap2=&ia3;                                //指向二维三列四行的数组指针
                cout<<(*ap2)[1][2]<<endl;        //12
                d.数组连续存储在二维数组中就体现的更明显了
                ip=&ia3[0][0];
                *(ip+10)将访问到ia3[2][2];

粗略的小结一下,表达不好,还望各方人士多多指点

[ 本帖最后由 sww12081234 于 2008-1-19 15:17 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-01-19 19:36 |只看该作者
A. 数组名可以在需要指针的地方自动转换为指向第一个元素地址的指针

论坛徽章:
0
3 [报告]
发表于 2008-01-19 21:35 |只看该作者
数组应该理解为一种数据类型。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP