Question sur les structures
Résolu/Fermé
Rune188
Messages postés
67
Date d'inscription
lundi 20 février 2017
Statut
Membre
Dernière intervention
29 janvier 2024
-
Modifié le 24 sept. 2017 à 18:29
Rune188 Messages postés 67 Date d'inscription lundi 20 février 2017 Statut Membre Dernière intervention 29 janvier 2024 - 24 sept. 2017 à 18:44
Rune188 Messages postés 67 Date d'inscription lundi 20 février 2017 Statut Membre Dernière intervention 29 janvier 2024 - 24 sept. 2017 à 18:44
A voir également:
- Question sur les structures
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Les structures - Forum Programmation
- Les structures en c++¿? - Forum C++
- Les structures en C ✓ - Forum C
- Problème table des matières word titres pas pris en compte - Forum Word
1 réponse
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
24 sept. 2017 à 18:36
24 sept. 2017 à 18:36
'lut,
c'est normal, car en C et C++, les paramètres d'une fonction sont passés par valeur, autrement dit leur contenu est copié puis utilisé par la fonction. Comme il s'agit d'une copie, l'original n'est pas modifié.
En C comme en C++, on peut utiliser des pointeurs pour parler de la structure d'origine (et non d'une copie), mais en C++ on a les références, qui simplifient un peu les choses; pour s'en servir il suffit de transformer
Mais étant donné ce que fait cette fonction, il serait plus judicieux d'en faire une fonction membre de la structure (tu verras ça plus tard dans tes cours/tutos).
Aussi, étant donné que la fonction afficher ne fait que lire des données du chèque, on peut 1. éviter une copie et 2. s'assurer de la non-écriture dans la structure à la compilation en changeant son prototype en:
c'est normal, car en C et C++, les paramètres d'une fonction sont passés par valeur, autrement dit leur contenu est copié puis utilisé par la fonction. Comme il s'agit d'une copie, l'original n'est pas modifié.
En C comme en C++, on peut utiliser des pointeurs pour parler de la structure d'origine (et non d'une copie), mais en C++ on a les références, qui simplifient un peu les choses; pour s'en servir il suffit de transformer
void remplir(cheque chequeA,int num)en
void remplir(cheque& chequeA,int num).
Mais étant donné ce que fait cette fonction, il serait plus judicieux d'en faire une fonction membre de la structure (tu verras ça plus tard dans tes cours/tutos).
Aussi, étant donné que la fonction afficher ne fait que lire des données du chèque, on peut 1. éviter une copie et 2. s'assurer de la non-écriture dans la structure à la compilation en changeant son prototype en:
void afficher(const cheque& chequeA)
24 sept. 2017 à 18:44
Merci pour les explications :)