首页 > 其他 > 详细

指针数组与数组指针

时间:2014-07-28 14:50:43      阅读:335      评论:0      收藏:0      [点我收藏+]
//理解数组指针与指针数组要从定义开始,对于优先级的理解
//对于形如 int* p[4],那么他就是个指针数组。因为先定义数组
//对于形如int (*p)[4],就是个数组指针,因为先定义指针。

#include <iostream> #include <sys/time.h> using namespace std; int main() { int arr[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int *p[4]; //指针数组,[]优先级高于*。p是一个数组,里面存放了4个指向整型数据的指针 int (*q)[4]; //数组指针,()优先级高,说明q是一个指针,这个指针指向一个大小为4个元素的数组的首地址 for(int i = 0;i<4;i++) { for(int j = 0;j<4;j++) printf("%4d ",arr[i][j]); printf("\n"); } printf("\n"); q = arr; for(int i = 0;i<4;i++) { for(int j = 0;j<4;j++) { printf("%4d ",*(*(q+i)+j)); //对于数组指针来说,相当于二级指针? } printf("\n"); } printf("\n"); for(int i = 0;i<4;i++) p[i] = arr[i]; //指针数组,让指针数组里每一个元素对应每一行行开头的地址 for(int i = 0;i<4;i++) { for(int j = 0;j<4;j++) printf("%4d ",*(p[i]+j)); printf("\n"); } printf("\n"); }

 

指针数组与数组指针,布布扣,bubuko.com

指针数组与数组指针

原文:http://www.cnblogs.com/cliviazhou/p/3872789.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!