Salut
J'ai une fonction qui me retourne une structure par valeur.
Comment faire pour qu'il me retourne un pointeur de cette structure?
Merci d'avance
Version imprimable
Salut
J'ai une fonction qui me retourne une structure par valeur.
Comment faire pour qu'il me retourne un pointeur de cette structure?
Merci d'avance
*Structure tafonction(){
}
ou bien
void tafonction(**Structure){
}
et lors de l'appel tu passe l'adresse de ton pointeur de structure cela veut dire que si ta une variable *Structure tu la passe comme paramètre comme ça &variable
bonjour,
si c est une structure,Code:
1
2
3
4 struct Structure* func() { }
si c est un type iront mieux (avec le bon return qui va bien).Code:
1
2
3
4 Type* func() { }
Quand j'ai dis :
je me suis gourer c'est parce qu'il y a un moment j'ai pas touché le C mais sinon je voulais dire ça :Code:
1
2
3
4 *Structure func() { }
pas besoin du mot clé struct et le C retourne très bien les pointeursCode:
1
2
3
4 Structure* func() { }
Encore desolé
Oui, une fonction peut retourner un pointeur sur structure.
Par contre, il faut dans ce cas bien se poser les questions suivantes :
- Qui doit allouer la structure, la fonction ou l'appelant
- Est-ce que je ne suis pas en train de retourner un pointeur sur une variable locale de ma fonction
- Si c'est une allocation dynamique, comment se fait la désallocation