malloc is defined within the C1X standard document as part of the C standard library. If you mean that malloc isn't a language keyword, OK, sure. And there are cases where you'd write a non-trivial C program without any dynamic memory allocation. It seems misleading to say that it's not part of the language, though.