题目:
在64位系统下,分别定义如下两个变量:char *p[10]; char(*p1)[10];请问,sizeof(p)和sizeof (p1)分别值为__。
A.4,40
B.80,8
C.10,10
D.8,80
E.40,4
F.4,4
答案:B
知识点:指针数组和数组指针
解析:
在64位系统下指针占8个字节。
char p[10] 是指针数组,存放了10个指针,所以sizeof(p) = 10 8 = 80。注意数组名只有在当参数时才会退化为指针形式。
char (*p1)[10]是数组指针,p1是一个指向存放10个char类型的数组的指针,所以sizeof(p1) = 8。