【发布时间】:2013-03-26 02:14:24
【问题描述】:
我的代码中有这个:
int x = 4;
char* array = malloc(x*sizeof(char));
size_t arraysize = sizeof (array);
printf("arraysize: %zu\n", arraysize);
这段代码打印出来,
数组大小:8
为什么是 8 而不是 4? (因为 4*sizeof(char) = 4 * 1)
【问题讨论】:
-
@modifiablelvalue:是的,我的意思是 zu。我已经改变了它。嗯,这是我第一次被指向那个网站,谢谢你的信息!对了,你可以冷静一下,我是一名学习编程的学生,是的,这是我第一次遇到这个问题!所以再一次,冷静下来!
-
它返回 ptr 大小。即使您将 x 值设为 1000,它也只会返回 8。