面试题:求所占字符

/*
在32位系统下,分别定义如下两个变量:char *p[10],char(*p1)[10],sizeof(p),sizeof(p1)分别值为___________。
*/
#include <stdio.h>
#include <stdlib.h>

void main()
{
    char *p[10],(*p1)[10],p2[10],p3;
    printf("%d,%d,%d,%d,%d,%d",sizeof(p),sizeof(*p),sizeof(p1),sizeof(*p1),sizeof(p2),sizeof(p3));
}

输出结果是:

char *p[10],定义的是一个字符指针数足,p指向整个数组,所以是32/8=4,4*10=40

       *p指的就是存储这个指针的空间,所以是4

char (*p1)[10] p指的就是存储这个指针的空间,所以是4
         (*p1)指向数组,char的是1,1*10(p2[10]同理)
             


 

posted @ 2015-04-12 19:26  Friday92  阅读(161)  评论(0编辑  收藏  举报