st tt le monde

SVP eske qqu'1 pe m'aider à ecrire un code en C(Linux) en utilisant les threads

Mon pgm permet de calculer le carré des entiers entre 0 et 90 et de mettre chaque val retournée dans un thread séparé,puis retourner un tableau de double contenant les résultats.le main thread doit afficher un court message à l'user et afficher les resultats calculés qd ils seront prets.
voici le code que j'arrive à faire et je suis sur qu'il contient +ieurs erreurs:
#include<pthread.h>
Void *Carre(void *arg)
{
int i,a ;
i=a*a;
return i; //est ce que c juste,car c void et j doit retourner le carré???
}
int
main(void)
{
int i;
pthread_t thread_Id[100];
void *exit_status;
double *tab=(*double)malloc(100);
for(i=0;i<100;i++)
{
pthread_create(&thread_Id[i],NULL, Carre,&i);
pthread_join(thread_Id[i],
&exit_status); //franchment je sais pas c koi l'utilité de pthread_join ni de exit_status tab[i]=exit_status; //c juste???
printf("le thread %d a comme valeur %d",i,tab[i]);
}
return 0;
}
J'esper ke qqu'1 pe me corriger ce code avant 2min soir si c possible biensur car il va etre noté.
Si qqu'1 un nom de site de C(Linus) avec les threads il me donne.
Bn et merci d'avance pour votre aide.