@João Neto
#if e #else são para compilação condicional.
C++ nada mais é que a linguagem C com mais funções e mais segurança(dizendo de modo grosseiro), por tanto o código mostrado pode ser usado tanto com C quanto com C++.
Fechar que laço? Não tem laço no código postado.