Declaração de função dentro da função - por quê?
Estou lendo o livro "Programação em C" e encontrei no capítulo 10 um exemplo como este:
#include <stdio.h>
void test (int *int_pointer)
{
*int_pointer = 100;
}
int main (void)
{
void test (int *int_pointer);
int i = 50, *p = &i;
printf ("Before the call to test i = %i\n", i);
test (p);
printf ("After the call to test i = %i\n", i);
return 0;
}
Eu entendo o exemplo, mas não entendo a linhavoid test (int *int_pointer);
dentro demain
. Por que defino a assinatura detest
novamente? Isso é C idiomático?