指针学习随记
来源:互联网 发布:centos apt get 编辑:程序博客网 时间:2024/05/22 15:48
#include<stdio.h>/*int main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19}; int *p; for(p=a[0];p<(a[0]+12);p++) { if((p-a[0])%4==0) printf("\n"); printf("% 4d",*p); } printf("\n"); return 0;} */int main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19}; int (*p)[4],i,j; p=a; scanf("%d %d",&i,&j); printf("a[%d][%d]=%d\n",i,j,*(*(p+i)+j)); return 0;}
- 使用指针可以更加灵活的调用二维数组。但需要清楚的理解每一个概念。当定义了指向数组元素的指针变量时int *p; ,不能使用p=a;,因为此时的a指的是二维数组的首地址,代表的是整个一位数组。只能使用p=a[0];。
当定义了int (*p)[4]; 时,p是一个指针变量,指向的是包含4个整型元素的一位数组。此处*p两侧的括号不可缺少,如果写成*p[4]就成为了一个指针数组。
#include<stdio.h>int main(){ int a[4]={1,3,5,7}; int (*p)[4]; p=&a; printf("%d\n",(*p)[3]); return 0;}
这里的p=&a; 不易理解,尚无法区分开p=&a; 待日后解决。
0 0
- 指针学习随记
- 学习随记
- 学习随记
- 学习随记
- 学习随记
- 学习随记
- 学习随记
- 学习随记
- 随记--二维数组指针
- 征服C指针-随记
- Smarty 学习随记!
- magento学习随记
- hadoop学习随记 二
- 2011.10.20学习随记
- 11.07学习随记
- 11.08学习随记
- 11.10学习随记
- 01--JDK学习随记
- Android HAL实例解析
- Spring mvc 浏览器支持 put, delete 提交方法
- android基础篇(二),Service及IntentService
- HDU 1710(Binary Tree Traversals)二叉树的遍历
- Autoit3 安装
- 指针学习随记
- Android 4.4 Camera调试注意事项
- 【css杂记】css兼容处理杂记 1
- 都是恶性循环
- 细菌实验分组
- Spring MVC
- opencv提取图像的缺陷并用最小矩形框出来
- Linux Capability
- 深入分析Linux自旋锁