No, it just makes it inconvenient to try to protect yourself from stubbing your toe in it.

C doesn't make anything inconvenient, that's its major appeal. Some things are convenient by design, yes, but it's not trying to prevent you from doing anything. That's a feature.

> C doesn't make anything inconvenient

Other than writing memory safe code, as history has shown.

Difficult, not inconvenient.

Because it allows things that are difficult, like writing your own memory allocators.

If you don't like working at that difficulty level, then C programming isn't for you. And that's fine.

It doesn't allow me to write my own memory allocator, it forces me to.

This line of argumentation reminds me of this:

Advertise and promote a shortcoming or a fault as a virtue.

For example, ultra-cheap single-use film cameras are advertised as "No Focusing Required." The truth is, no focusing is possible, because those cameras have cheap plastic fixed-focus lenses that won't move and can't be focused. What is a serious shortcoming for a camera — the inability to properly focus on the subject — is sold as a convenience: "You don't have to bother with focusing."

https://orangepapers.eth.limo/orange-propaganda.html#make_vi...

No it doesn't, malloc() and free() is the default.