В C при использовании имени функции в pthread_create это то же самое, что использование ссылки?
Я не уверен, правильно ли я сказал.
pthread_create(..., ..., &some, ...);
...is the same as:
pthread_create(..., ..., some, ...);
Я изучаю темы, если бы вы могли дать веб-сайт или видео, которые бы сделали это действительно простым, это было бы здорово. Потоки - блокировки, условные переменные и т. Д. Спасибо!
2 ответа
Решение
Вы можете использовать как имя функции some
или указатель на функцию &some
чтобы получить адрес функции.
Проверьте также этот ответ.
Да, потому что имя функции указывает на область памяти. Проще говоря, это адрес памяти, так что вы передаете его как foo
или же &foo
оба одинаковы.
Пример кода:
#include <stdio.h>
int foo(){
printf("hello world");
}
int (*fuu)();
int main (void)
{
fuu = foo;
fuu();
return 0;
}
Надеюсь это поможет