Q>Нет, потому что у тебя здесь сразу два допущения.
Единственное допущение это то, что NULL представлятся в виде (void*)0
Во всем остальном функции логически идентичены.
Q>В С goto для таких случаев рулит, с этим ничего не поделаешь.
Он рулит, но не для таких случаев.