可能重复:
关于 malloc 和 sizeof 的新手问题
我正在尝试将字符串读入程序。当我注意到字符串有时被损坏时,我尝试了以下代码:
void *mallocated = malloc(100);
printf("sizeof(mallocated) = %d\n", sizeof(mallocated));
根据我的程序,即使我为它分配了 100 个字节,它的大小mallocated
也是。8
因此,每当我尝试存储超过 8 个字节的字符串时,第 8 个字节之后的所有内容有时都会消失。为什么会发生这种情况,我该如何预防?