© Éditions Eyrolles
139
chapitre n° 7
Les tableaux et les pointeurs
Voici quelques exemples d’appels de cette fonction :
main()
{ int t1[30], t2[15], t3[10] ;
int s1, s2, s3 ;
.....
s1 = som(t1, 30) ;
s2 = som(t2, 15) + som(t3, 10) ;
.....
}
En C99, l’en-tête peut préciser la dimension d’un tableau, à condition que l’argument correspondant apparaisse auparavant. On peut appliquer cette possibilité à la définition de la fonction
som précédente, à condition d’inverser l’ordre de ses arguments, en procédant ainsi :
int som (int nb, int t[nb])
L’en-tête suivant serait rejeté :
int som (int t[nb], int nb) /* incorrect, même en C99 */
8.2 Cas des tableaux à plusieurs indices
a) Premier exemple : tableau de taille fixe
Voici un exemple d’une fonction qui place la valeur 1 dans chacun des éléments d’un tableau
de dimensions 10 et 15 :
Fonction travaillant sur un tableau de taille variable
int som (int t[],int nb)
{ int s = 0, i ;
for (i=0 ; i s += t[i] ;
return (s) ;
}
Exemple de transmission en argument d’un tableau à deux dimensions (fixes)
void raun (int t[10][15])
{ int i, j ;
for (i=0 ; i<10 ; i++)
for (j=0 ; j<15 ; j++)
t[i][j] = 1 ;
}
Delannoy Livre.book Page 139 Mercredi, 6. mai 2009 4:26 16
Précédent

- 152/281

Suivant