Объявление функции внутри функции - почему?

Я читаю книгу «Программирование на C» и нашел в главе 10 пример, подобный этому:

#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;
}

Я понимаю пример, но я не понимаю линиюvoid test (int *int_pointer); Внутриmain, Почему я определяю подписьtest снова? Это идиоматический C?

Ответы на вопрос(5)

Ваш ответ на вопрос