如果使用 NULL 作为 malloc(sizeof()) 的参数,它是否返回 NULL?

Noa*_*ner -1 c malloc memory-management

我希望这里不要听起来很愚蠢,但是 NULL 模块在执行此操作时实际上是否需要内存分配:

TheNull = malloc(sizeof(NULL));
Run Code Online (Sandbox Code Playgroud)

如果是真的,那么没有分配内存的东西怎么可能存在于内存中呢?

chu*_*ica 6

如果使用 NULL 作为 的参数malloc(sizeof()),它会返回吗NULL

不,除非内存不足,就像任何其他分配一样。

NULL空指针常量,没有特定的类型。它可能是void *intlong或某种整数类型。

避免使用sizeof(NULL),因为其大小/类型可能因系统而异。