Bonjour,
je cherche à mieux comprendre le bout de code (venant d'un livre) que voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <pthread.h>
 
int i;
 
void addition(void)
{
	i = i + 10;
	printf("hello thread fils i=%d\n", i);
	i = i + 20;
	printf("hello thread fils i=%d\n", i);
}
 
int main(void)
{
	pthread_t num_thread;
	i = 0;
	if(pthread_create(&num_thread, NULL, (void *(*)())addition, NULL) == -1) perror("pb pthread_create\n");
	i = i + 1000;
	printf("thread principal %d\n", i);
	i = i + 2000;
	printf("thread principal %d\n", i);
	pthread_join(num_thread, NULL);
}
si je comprend bien sur la fonction pthread_create on a en deuxième paramètre un pointeur de fonction... mais pourquoi (void *(*)()) devant?
je n'arrive pas à décortiquer

merci bien