Как передать функцию void (void) в другую функцию в качестве параметра в c
[введите описание изображения здесь][1] У меня есть функция void readline()
который выводит строку, и я хочу передать ее в другую функцию в качестве параметра, как я могу это сделать,
Спасибо за любую помощь.
int scorecount(argc1, argv1, void readline());
void readline();
int main(int argc, char *argv[]){
scorecount(argc,argv);
}
int scorecount(argc1, argv1, void readline()){
output a int
and I want to use the string from readline function somewhere in
scorecount
}
void readline(){
output a string
}
1 ответ
Вы можете объявить параметр как объявление функции, используя любое имя параметра. Например
void another_function( void readline( void ) );
И функция another_function
можно назвать как
another_function( readline );
Компилятор корректирует объявление функции, чтобы указатель на функцию. Таким образом, приведенная выше декларация эквивалентна
void another_function( void ( *readline )( void ) );
РЕДАКТИРОВАТЬ: после того, как вы обновили свой код, функция должна быть объявлена как
int scorecount( int argc, char * argv[], void readline( void ) );
void readline( void );
и называется как
scorecount( argc, argv, readline );