经典指数          
原因
1909
浏览数
0
收藏数
 

char p1[] = “Tencent”, void*p2 = malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是?
  • 8:0
  • 4:10
  • 8:4
  • 4:4

     举报   纠错  
 
切换
1 个答案

void p2 = malloc((10)应该是:void *p2=malloc(10),答案是C

而对于一个数组,

sizeof

返回这个数组所有元素占的总空间。而

strlen

不区分是数组还是指针,就读到

\0

为止返回长度。所以sizeof(p1)=8;而32位机器指针占4位,所以sizeof(p2)=4

 
切换
撰写答案
扫描后移动端查看本题