То, о чем говорил Франко, называется прототипами функций . C анализирует (или компилирует) ваш код сверху вниз, поэтому, если он отвечает на ваш вызов speed , прежде чем он достигнет вашего объявления speed , он жалуется. Чтобы обойти это, вам нужно создать прототип функции в качестве прямой ссылки на функцию. Как правило, рекомендуется писать прототипы для всех ваших функций в верхней части кода или в другом файле (он же файл header ) и #include it.
/* helloworld.h */
void speed (int , char **);
void menu (int , char **);
/* helloworld.c */
#include "helloworld.h"
void menu (int argc, char **argv){
speed (argc, argc);
}