problème de pointeur sur fonction - C - Programmation
Marsh Posté le 23-05-2004 à 11:35:59
l'adresse de la fonction c'est son nom
Tri_Bulles(etu,compare_age);
Marsh Posté le 02-06-2004 à 06:18:19
À lire du code j'ai trouvé cette déclaration:
Code :
|
Je sait que
Code :
|
est un tableau de 3 pointeur sur des entier, mais à quoi sert le
Code :
|
?
Marsh Posté le 02-06-2004 à 07:14:27
ben à rien si tu n'utilises la liste d'arguments variables
Marsh Posté le 02-06-2004 à 07:46:09
Je ne comprend pas bien ta réponce en fait je veut savoir en quoi consiste l'ensemble de la déclaration
Code :
|
Marsh Posté le 02-06-2004 à 07:49:47
une fonction s qui retourn une un int* et qui prend un argument un int **, sémantiquement un tableau de 3 int*
Marsh Posté le 02-06-2004 à 08:03:05
Taz a écrit : une fonction s qui retourn une un int* et qui prend un argument un int **, sémantiquement un tableau de 3 int* |
Merci Beaucoup J'étais vraiment dans la lune.
Marsh Posté le 23-05-2004 à 11:27:27
pourquoi ca marche pas???
warning :function' : 'int (__cdecl *)(struct Setudiant *,struct Setudiant *)' differs in levels of indirection from 'int '
/*type etudiant*/
typedef struct Setudiant
{
char Nom[20];
char Prenom[20];
int Annee;
int Notes[7];
}etudiant;
/*type tableau d'etudiant*/
typedef struct
{
etudiant ** tab;
int taille;
}tableau_etu;
void Tri_Bulles(tableau_etu * tab , int (*comparaison)(etudiant *,etudiant *))
{
int j;
int i;
etudiant *tmp;
for(i=0;i=(tab->taille)-2;i++)
{
for(j=(tab->taille)-1;j>=i;j--)
{
if( ((*comparaison)(tab->tab[j],tab->tab[j-1])) <0 )
{
tmp=tab->tab[j];
tab->tab[j]=tab->tab[j-1];
tab->tab[j-1]=tmp;
}
}
}
}
int main(void)
{
...
Tri_Bulles(etu,compare_age(etu->tab[nbetu-1],etu->tab[nbetu-2]));