Différences entre versions de « Passage par Valeur - Passage par Pointeur »
(Page créée avec « {{Widget:Fiche-Conceptions-Haut}} = {{Widget:Conception : Clarification - Explicitation}} = <!-- ************************* Début ***************************************... ») |
|||
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 49 : | Ligne 49 : | ||
* Utiliser le passage de paramètres par valeur dans le cas ou les variables vont être changés dans la fonction. | * Utiliser le passage de paramètres par valeur dans le cas ou les variables vont être changés dans la fonction. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Ligne 89 : | Ligne 84 : | ||
<!----*** Commencez les modifications Conceptions-ou-Concepts liés ***-----> | <!----*** Commencez les modifications Conceptions-ou-Concepts liés ***-----> | ||
− | |Concept-lié-1= | + | |Concept-lié-1=Passage par référence |
− | |Concept-lié-2= | + | |Concept-lié-2=Passage par adresse |
|Concept-lié-3= | |Concept-lié-3= | ||
|Concept-lié-4= | |Concept-lié-4= | ||
Ligne 114 : | Ligne 109 : | ||
<!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées--> | <!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées--> | ||
− | Image: | + | Image:passage-des-parametres.jpg|passage de paramètres |
− | + | ||
− | |||
</gallery><!-- ************** Fin modification images***************************--> | </gallery><!-- ************** Fin modification images***************************--> | ||
Ligne 132 : | Ligne 126 : | ||
}}<!-- ************************* Fin modifications pour les Médias *******************************************************--> | }}<!-- ************************* Fin modifications pour les Médias *******************************************************--> | ||
− | |||
= {{Widget:Stratégie de changement conceptuelle : Solutions possibles}} = | = {{Widget:Stratégie de changement conceptuelle : Solutions possibles}} = | ||
Ligne 158 : | Ligne 151 : | ||
<!-- ************ Commercez les modifications *********************--> | <!-- ************ Commercez les modifications *********************--> | ||
− | * [[ | + | * [[Quand est ce que les paramètres d'une fonction sont passées en pointeur?]] |
− | + | Lorsque le contenu des variables passé en paramètre va changer dans la fonction, on utilise des pointeurs sinon on utilise une passage de valeur. | |
− | + | ||
}}<!-- ******** Fin Fiche Didactique Questions ******************* --> | }}<!-- ******** Fin Fiche Didactique Questions ******************* --> | ||
Ligne 172 : | Ligne 165 : | ||
<!-- ****************** Commercez les modifications *********************--> | <!-- ****************** Commercez les modifications *********************--> | ||
− | * .... | + | * http://casteyde.christian.free.fr/cpp/cours/online/c1540.html |
− | |||
− | |||
− | |||
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** --> | }}<!-- ************* Fin Fiche Didactique Bibliographie *************** --> | ||
{{Widget:Fiche-Conceptions-Bas}} | {{Widget:Fiche-Conceptions-Bas}} |
Version actuelle datée du 4 juin 2020 à 10:24
Votre Publicité sur le Réseau |
Conception : Clarification - Explicitation
Conceptions canoniques Passage par valeur
- La valeur de l'expression passée en paramètre est copiée dans une variable locale. C'est cette variable qui est utilisée pour faire les calculs dans la fonction appelée.
Si l'expression passée en paramètre est une variable, son contenu est copié dans la variable locale. Aucune modification de la variable locale dans la fonction appelée ne modifie la variable passée en paramètre, parce que ces modifications ne s'appliquent qu'à une copie de cette dernière.
- Exemple:
void PERMUTER (int A, int B) {
int AIDE; AIDE = A; A = B; B = AIDE;
} Nous appelons la fonction pour deux variables X et Y par:
PERMUTER(X, Y);
Résultat: X et Y restent inchangés !
Explication: Lors de l'appel, les valeurs de X et de Y sont copiées dans les paramètres A et B. PERMUTER échange bien contenu des variables locales A et B, mais les valeurs de X et Y restent les mêmes.
Passage par Pointeur void PERMUTER (int *A, int *B) {
int AIDE; AIDE = *A; *A = *B; *B = AIDE;
} Nous appelons la fonction par:
PERMUTER(&X, &Y);
Résultat: Le contenu des variables X et Y est échangé !
Explication: Lors de l'appel, les adresses de X et de Y sont copiées dans les pointeurs A et B. PERMUTER échange ensuite le contenu des adresses indiquées par les pointeurs A et B.
Conceptions erronées et origines possibles
- Utiliser le passage de paramètres par valeur dans le cas ou les variables vont être changés dans la fonction.
Conceptions liées - Typologie
Concepts ou notions associés
Références
| |||
---|---|---|---|
Sur le Portail Questions / Réponses |
Sur Portail de Formation Gratuite |
Sur des sites de Formation |
Sur DidaQuest |
Passage par Valeur - Passage par Pointeur sur : Wikipedia / Wikiwand / Universalis / Larousse encyclopédie / Khan Académie | |||
Sur Wikiwand :
Passage par référence / Passage par adresse / [1] / [2] / [3] | |||
Sur Wikipédia :
Passage par référence / Passage par adresse / [4] / [5] / [6] | |||
Sur Wikiversity :
Passage par référence / Passage par adresse / [7] / [8] / [9] | |||
Sur Universalis :
Passage par référence / Passage par adresse / [10] / [11] / [12] | |||
Sur Khan Académie :
Passage par référence / Passage par adresse / [13] / [14] / [15] |
Éléments graphique
Stratégie de changement conceptuel
Questions possibles
Lorsque le contenu des variables passé en paramètre va changer dans la fonction, on utilise des pointeurs sinon on utilise une passage de valeur.
Bibliographie
Pour citer cette page: (par Valeur - Passage par Pointeur)
ABROUGUI, M & al, 2020. Passage par Valeur - Passage par Pointeur. In Didaquest [en ligne]. <http:www.didaquest.org/wiki/Passage_par_Valeur_-_Passage_par_Pointeur>, consulté le 18, mai, 2024
Votre Publicité sur le Réseau |