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

Надеюсь это поможет

Другие вопросы по тегам