char p1[] = “Tencent”, void*p2 = malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是? 8:0 4:10 8:4 4:4
void p2 = malloc((10)应该是:void *p2=malloc(10),答案是C
而对于一个数组,
sizeof
返回这个数组所有元素占的总空间。而
strlen
不区分是数组还是指针,就读到
\0
为止返回长度。所以sizeof(p1)=8;而32位机器指针占4位,所以sizeof(p2)=4