您的位置:首页 > 编程语言 > C语言/C++

C语言指针实例详解double *(*a)[3][6]

2014-10-23 23:40 465 查看

double * (*a)[3][6];

求取sizeof(a),sizeof(*a),sizeof(**a),sizeof(***a),sizeof(***a);



a是一个指针,它指向谁呢,当然指向*a啦,那*a又是啥呢,代表3行6列数组的首地址,所以a是一个指向一个三行六列double指针的数组的指针的指针,*a是3行6列数组的首地址,
那紧接着就简单了,
**a就是直线一维具有6个double*元素数组的首地址
***a是double*的指针
****a是double类型

故sizeof(a)=4
sizeof(*a) = 3*6*4 = 72
sizeof(**a) = 4*6 = 24
sizeof(***a) = 4
sizeof(****a)=8

具体分析还可以可以使用替代法
T1 = (double*);
B=(*a);
T1 B[3][6]; 这样就一目了然了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: