Bonjour à tous,
Je travaille en ce moment sur le code source de dhclient à mon taf, et il y a un certain nombre de questions que je me pose à la vue de certaines fonctions.
En fait, je vois des fonctions qui démarrent de la façon suivante :
D'ailleurs, le prototype de cette fonction est fait de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void state_selecting (cpp) void *cpp; { struct client_state *client = cpp; struct client_lease *lp, *next, *picked; ... ... }
Je n'ai jamais vu ce genre de choses avant, j'étais plus habitué à faire le corps d'une fonction de la manière suivante ("classique" si je puis dire, étant donné que c'est ce que j'ai toujours vu) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void state_selecting PROTO ((void *));
Je ne suis pas un maitre de C, loin de là, j'en ai fait un peu pour faire du réseau et pour faire du développement de librairies en stage, mais c'est la première fois que je tombe sur ce genre de choses en C... Je n'ai pas pu trouver quoi que ce soit d'intéressant et surtout qui explique bien ce qui est fait exactement. J'étais en train de me dire que ces deux formes sont peut-être équivalentes, mais le prototype ne me semble pas pareil déjà...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 unsigned int function (struct *p_argument1, char *p_argument2) { ... ... }
Est-ce que l'un d'entre vous saurait m'expliquer la différence entre ces deux façons de faire (si différence il y a) ?
Je vous remercie d'avance
KimKas
Partager