Salut
Je veux réaliser une fonction qui return l’adresse d’une case d’un tableau, le problème c’est que je sais pas comment je peux la déclarée
Version imprimable
Salut
Je veux réaliser une fonction qui return l’adresse d’une case d’un tableau, le problème c’est que je sais pas comment je peux la déclarée
Ton tableau est de type "xxx" donc ta fonction qui renvoie l'adresse de ce type "xxx" est de type "xxx *" (puisqu'au bout de la valeur renvoyée on trouve un "xxx").
Maintenant rappelle-toi bien que si ton tableau est défini dans la fonction en tant que "volatile", l'adresse que tu récupèreras au retour de la fonction n'aura aucune signification (puisque le tableau aura été détruit avec la fin de la fonction).
Bien entendu si ton tableau arrive de l'extèrieur (comme paramètre) ou bien défini en "static" alors pas de pb
Si tu as un tableau de type T, ta fonction doit retourner une valeur de type T*.
on suppose une fonction retournant l'adresse de la case d'indice ind d'un tableau d'entiers
Code:
1
2
3
4 int *my_fon(int *T, size_t ind) { return &T[ind]; }
Donc si on veut le contenu de cette cellule on fera :
Int k=*my_fon(*T,ind)
Trop de vin blanc ce soir :oops:
non, on feraCode:
1
2
3
4 int *my_fon(int *tab, size_t ind) { return &tab[ind]; }
car *T donne le contenu de la première case du tableau T.Code:int k=*my_fon(T,ind);