(Courriels de diversion: <affreter@nicherai-spolierais.com> <assignerions@sablier-surexcitant.com> <rassoyant@mobiliserai-espacerons.com> <croquee@dedommagees-boutonnerez.com> <decante@desertaient-grippent.com> <devront@enclume-reconcilierez.com> <inserent@gares-egrenerais.com> <infiltree@inattentive-falsification.com> <fertilisant@linos-types.com> <cousais@repentes-traduisibles.com> )


Guillaume Betous a écrit :
> J'ai une fonction qui demande un tableau (?) int **dists mais je
ne sais pas comment le remplir, donc je cherche des exemples.

int **dists est équivalent à int *dist[]

Oui et non...

Les deux concepts sont ici similaires mais différents.
Le concept de pointeur permet de pointer sur un item.
Le concept de tableau permet de pointer sur une table de machins.

En C, on peut assez souvent intervertir les deux concepts, toutefois, il n'est écrit nul part que cela pourrait être une bonne idée (d'intervertir).

En particulier, en C, il ne faut pas confondre:
+ un pointeur sur un pointeur (c'est ce que veux rigoureusement dire **)
+ un tableau de tableau (les arguments du main en C)
+ un tableau de pointeurs
+ un pointeur de tableaux

Un typage fort devrait permettre d'éviter ce genre de gag, l'utilisation appropriée de typedef est recommandée.
Mais lorsque l'on réutilise des bibliothèques codées par d'autres, ce n'est hélas pas toujours possible...







-------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>