Pourquoi ma fonction ne modifie pas les variables
Résolu/Fermé
nizarkhalloufi
Messages postés
11
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
9 février 2015
-
4 avril 2014 à 17:30
Utilisateur anonyme - 5 avril 2014 à 09:01
Utilisateur anonyme - 5 avril 2014 à 09:01
A voir également:
- Pourquoi ma fonction ne modifie pas les variables
- Fonction si et - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
2 réponses
Utilisateur anonyme
Modifié par le père. le 4/04/2014 à 18:18
Modifié par le père. le 4/04/2014 à 18:18
la fonction pgcd modifie les valeurs de a et b
Non, une fonction en C ne modifie JAMAIS ses paramètres, car elle n'a pas les 'vrais' paramètres mais seulement des copies, et elle ne modifie que ces copies.
Si on veut modifier des variables, il faut passer leurs adresses : c'est le rôle des pointeurs, si tu en as entendu parler.
Non, une fonction en C ne modifie JAMAIS ses paramètres, car elle n'a pas les 'vrais' paramètres mais seulement des copies, et elle ne modifie que ces copies.
Si on veut modifier des variables, il faut passer leurs adresses : c'est le rôle des pointeurs, si tu en as entendu parler.
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
4 avril 2014 à 19:42
4 avril 2014 à 19:42
Justement, ta fonction ne modifie pas les valeurs des variables GLOBALES a et b.
Tu utilises a et b comme noms de paramètres de ta fonction.
C'est la valeur des paramètres sur la pile d'appel qui sont modifiés.
De toute manière ce n'est pas une bonne pratique d'utiliser des noms de variables globale en paramètre de fonctions...
Johan
Tu utilises a et b comme noms de paramètres de ta fonction.
C'est la valeur des paramètres sur la pile d'appel qui sont modifiés.
De toute manière ce n'est pas une bonne pratique d'utiliser des noms de variables globale en paramètre de fonctions...
Johan
nizarkhalloufi
Messages postés
11
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
9 février 2015
4 avril 2014 à 22:45
4 avril 2014 à 22:45
Merci pour votre aide.
4 avril 2014 à 19:37
5 avril 2014 à 09:01
Pour empêcher de modifier la chaîne pointée par x (en fait on peut quand même, mais il faut le faire exprès)
Mais avec ou sans const, le pointeur que tu as passé dans la fonction appelante ne sera pas modifié (la zone pointée pourra l'être, elle)