https://loke.sh/notes/coding-hacks/null-pointer-trick-c/