数组指针操作一维二维数组
2015-08-05 14:30
239 查看
//数据类型是带有地址大小别名 int array842(){ typedef char (*ptr)[3]; char a[3] = {"aba"}; ptr p = &a;//将整个数组a的地址赋给数组指针p //取地址 printf("[%d]:%p\n",1,&a); printf("[%d]:%p\n",2,*p); printf("[%d]:%zi\n",3,*(p+1)-(*p));//步长为数组长度3 //取值 printf("[%d]:%c\n",4,(*p)[1]);//不等于*p[i] printf("[%d]:%c\n",5,*(*p+1)); printf("[%d]:%c\n",6,*p[1]);//*p[i] return 0; } output: [1]:0x7fff5fbff7dd [2]:0x7fff5fbff7dd [3]:3 [4]:b [5]:b [6]: int array844(){ typedef char (*ptr)[3];//步长3和a[x][y]的y值相等 char a[3][3] = {"aba","bah","cbc"}; ptr p = a;//a的地址标示第一个数组的开始地址 printf("%c\n",*(*(p+1)+2)); printf("%c\n",*(p[1]+2)); printf("%p\n",*(p+1)); printf("%p\n",p[1]); return 0; } output: h h 0x7fff5fbff7d2 0x7fff5fbff7d2
相关文章推荐
- 南邮 OJ 1308 背包问题
- 关于MongoDB最大连接数的查看与修改
- Android编译过程详解(一)
- Nginx(2):工作机制
- HDU 1575 Tr A (矩阵快速幂)
- 在代码中引入Null Object模式
- Android优化之代码优化
- webservice的简单示例的实现步骤
- android studio sdk更新 (2015-8-5)
- ListView实现下拉刷新及上拉加载更多的一种方式
- 最新抓取淘宝价格数据,图片标题的就更好抓了整合就好
- 单词翻译
- SVN(集中式源代码管理工具)
- Oracle常用动态视图和字典表
- OpenCV3.0 兼容VS2010与VS2013的问题
- HDU/HDOJ 1232 超详细题解(并查集入门教程)
- @InjectView的实例化
- 手游项目开发实用工具
- windbg 源码调试设置
- HTML——JAVASCRIPT——关灯效果