char *str1 = (char*) malloc(100); void *str2 = (void*) malloc(100); sizeof(str1),(str2)为什么是4?
3个回答
展开全部
str1 ,str2 都是指针类型,指针占4个字节,sizeof(str1)求的是指针本身的长度,所以是4,
类似的还有 char占1字节int 占4字节,double占8字节
类似的还有 char占1字节int 占4字节,double占8字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为str1,str2是指针啊,32位机的指针就是32位,4个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针都是4啊
不要搞混了 看我下面例子
4
4
100
Press any key to continue
char aa[100];
char *str1 = (char*) malloc(100);
void *str2 = (void*) malloc(100);
printf("%d\n",sizeof(str1));
printf("%d\n",sizeof(str2));
printf("%d\n",sizeof(aa));
不要搞混了 看我下面例子
4
4
100
Press any key to continue
char aa[100];
char *str1 = (char*) malloc(100);
void *str2 = (void*) malloc(100);
printf("%d\n",sizeof(str1));
printf("%d\n",sizeof(str2));
printf("%d\n",sizeof(aa));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询