读书人

这道题如何做啊

发布时间: 2012-06-10 14:03:15 作者: rapoo

这道题怎么做啊?
typedef struct node{
int x;
char y;
}Node;


Node **a[16];

sizeof(a),sizeof(*a),sizeof(**a)分别等于多少,求详解???




[解决办法]
a是一个数组,存放Node**类型的数据
*a应该是数组第一个元素 就是Node**类型的
**a 就是 *(*a) 应该是Node *类型的
所以sizeof(a) = 16 * sizeof(pointer),一般是 16 * 4 = 64
sizeof(*a) = sizeof(pointer) = 4
sizeof(**a) = sizeof(pointer) = 4

指针的大小不一定是4,有些编译器是8,可能还有其他值,不过这些不是最重要的

读书人网 >C语言

热点推荐