Structure
sophie
-
kij_82 Messages postés 4260 Statut Contributeur -
kij_82 Messages postés 4260 Statut Contributeur -
bonsoir,
J'ai une petite question à vous poser sur les structures, en fait je ne comprends pas pourquoi dans une fonction (LirePoly)par exemple qui permet la saisie monome par monome d'un polynome on doit passer l ADRESSE du polynome comme argument
explicitment,
void lirePoly (poly *p)
sachant que poly est une strucure
Merci, et bonne soirée à vous tous
J'ai une petite question à vous poser sur les structures, en fait je ne comprends pas pourquoi dans une fonction (LirePoly)par exemple qui permet la saisie monome par monome d'un polynome on doit passer l ADRESSE du polynome comme argument
explicitment,
void lirePoly (poly *p)
sachant que poly est une strucure
Merci, et bonne soirée à vous tous
A voir également:
- Structure
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Structure url - Guide
- Trouvez l'erreur dans la structure du document et corrigez-la. - Forum Word
- Pdf structure 40 - Forum PDF
1 réponse
Salut,
[je pars du principe que c'est du C, ça reste valable pour le C++]
[ce principe s'applique lorsqu'on reste dans le même processus]
Lorsqu'un argument est passé à une fonction, cet argument est copié dans
la pile. toute modification de la valeur de cet argument n'est valable que dans
la fonction appelée, lors du retour dans la fonction appelante, cette zone
mémoire (la pile de la fonction appelé) n'est pas accéssible.
Donc si tu passe un type simple (char, short, int, ...) ou une structure à une
fonction, cette fonction travaille sur une copie 'temporaire privée'.
En passant un pointeur, même si la valeur de ce pointeur est copiée, la
fonction appelé va effectivement pouvoir modifier la zone mémoire pointée.
Cette zone mémoire (désignée par le pointeur lors de l'appel ou sa copie dans la
pile de la fonction appelée) est la même dans la fonction appelante et dans la
fonction appelée : la modification devient alors possible.
A+, crabs
[je pars du principe que c'est du C, ça reste valable pour le C++]
[ce principe s'applique lorsqu'on reste dans le même processus]
Lorsqu'un argument est passé à une fonction, cet argument est copié dans
la pile. toute modification de la valeur de cet argument n'est valable que dans
la fonction appelée, lors du retour dans la fonction appelante, cette zone
mémoire (la pile de la fonction appelé) n'est pas accéssible.
Donc si tu passe un type simple (char, short, int, ...) ou une structure à une
fonction, cette fonction travaille sur une copie 'temporaire privée'.
En passant un pointeur, même si la valeur de ce pointeur est copiée, la
fonction appelé va effectivement pouvoir modifier la zone mémoire pointée.
Cette zone mémoire (désignée par le pointeur lors de l'appel ou sa copie dans la
pile de la fonction appelée) est la même dans la fonction appelante et dans la
fonction appelée : la modification devient alors possible.
A+, crabs
(juste pour compléter)