Eléments de C (2)5 Les fonctions et les paramètres
int fonction (int x, int y) {return x + y } ;
void carre (int * x, int y) { x = y * y } ; x est un pointeur sur un entier ,
int main { int a,b ; b = 5 ; carre(&a ,b) ; lors de l’appel il faut donc fournir une adresse ! return 0 ; }

a) La structure est la même que définit au paragraphe structure.
b)
Déclaration du stock d’éléments : |
nb_elem = 100 ; element stock[nb_elem] ; |
Déclaration de la tête de liste : |
element * l = NULL ; |
Déclaration des éléments disponibles : |
element * dispo = & stock[0] (ou = stock ) |
c) La liste dispo n’est pas encore initialisée, il faut donc le faire :
for (i=0 ; i < NB_ELEM –1 ; i++ ) { int i ; stock[i].suivant = &stock[i+1] } lie entre eux les case du tableau stock. stock[99].suivant = NULL ;

a)
element * prendre_en_tete_dispo() { if (dispo == NULL) return NULL ; Element * El = dispo ; (1) dispo = dispoà suivant ; (2) return El ; } |
 |
void mettre_en_tete_l1 (element * p) { if (p /= NULL) { pà suivant = l1 ; (1) l1 = p ; } (2) } |
 | |