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