如果我错了就纠正我,但可以
malloc(1) // Mallocing 1 which is a int
Run Code Online (Sandbox Code Playgroud)
等于
malloc( sizeof(1) )
Run Code Online (Sandbox Code Playgroud)
void* malloc(size_t)返回一个指针,并且在分配了指针的大小等于馈入的参数之后的内存malloc。在您的情况下,malloc(1)只需分配一个字节,而malloc(sizeof(int))分配2或4个字节。
malloc(sizeof(1))和malloc(sizeof(int))等同语句,但后者是更加明显。因此malloc(1)不等同于malloc(sizeof(1))as sizeof(1) == 4。(或者有时是2、8)