L'essentiel du langage C

Passer une structure dans une fonction

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Comme toute variable, une structure peut être manipulée par une fonction. Dans ce cas, il est indispensable de passer par les pointeurs.
05:33

Transcription

Dans cette vidéo, je vais vous parler du passage en paramètres d'entrées d'une structure à l'intérieur d'une fonction. Pour cela, je vais déclarer comme (INAUDIBLE) struct PrixFormationStructure qui va nous servir d'ossature pour notre structure. Donc, nous l'avons ici nommé volontairement sans memo, puisque nous allons la renommer après. Elle est composée de quatre membres de type float avec des noms suffisament explicites prix unité du visionnage, de téléchargement pour un abonnement de 3 mois, pour un abonnement de un an. Donc, à partir de là, je fais des déclarations de prototypes puisque moi j'aime bien mettre simplement mes fonctions après la fonction main. void InitialiserPrixFormation paramètre d'entrée struct PrixFormationStructure Et là, je vais y mettre un pointeur LePrixDeFormationPointeur. Donc, à l'intérieur de ma fonction main, je vais renommer l'ossature PrixFormationStructure en PrixFormation et je vais initialiser le prix de ma formation. Donc, voici les différents tarifs en euros pour les formations. Ces tarifs concernent les formations : J'ai fait une liste et après Prix pour un visionnage par mois, alors s'arrête à deux chiffres après la virgule, c'est pour ça que vous avez %.2f le fameux drapeau. PrixFormation et j'accède. Je remontre, si vous faites ceci au membre donc, visionné prix_unité_visionné Voilà à partir de là, ça prouve bien une fois de plus que en fait, ma structure a bien été renomée. Donc, je fais la même chose pour un téléchargement pour un visionnage de 3 mois, pour un visionnage d'un an. Le sous-programme. Alors, le sous-programme ici faut savoir que si vous voulez accéder aux membres d'une structure, vous pouvez pas le faire directement parceque vous n'avez pas de lien entre la fonction qui est ici les membres qui sont à l'intérieur et la fonction main. Je vous rappelle pour la nième fois, que, ici le pointeur LePrixFormationPointeur est local à la fonction InitialiserPrixFormation. D'où l'intérêt du pointeur, puisque le pointeur ne va pas pointer sur une valeur qui va être, par exemple ici prix_unité_visionné. Il ne va pas pointer sur la valeur de celle-ci, mais, il va pointer sur l'adresse. Et là, ça le permet de le faire voyager et de l'exporter en sortant de la fonction. Comme nous l'avons vu sur l'exemple très simple avec une fonction avec deux paramètres d'entrée qui étaient des pointeurs. Donc, pour cela, il faut aller chercher LePrixDeFormationPointeur alors, je mets exprès des parenthèses, elles sont facultatives dans le sens où en fait l'Astirix ici est plus prioritaire que le point qui était ici. Donc, le compilateur ne va pas interpréter ça, puis ça. Il va d'abord, interpréter ça, et ensuite, le reste. Mais pour qu'il soit pédagogique et clair, je mets exprès des parenthèses qui ont la priorité la plus élevée avec les accolades. Et à partir de là, ben j'initialise en fait. Donc mon pointeur ici, je vais lui donner une valeur. Il est déréferencé parce que j'ai mis l'étoile, je vous rappelle. Donc, vous ne pointez pas sur l'adresse, mais vous pointez sur le contenu de cette adresse Par contre ici, vous voyez bien que prix_unitié_visionné en fait, va se retrouver exporté par le biais de son adresse. Et vu qu'elle n'est pas référencée, vous allez obtenir la valeur. Donc, vous faites la même chose pour prix_unité_visionné, téléchargé, et abonné à l'année. Voyons un peu ce qui se passe. Et ben je retrouve exactement ce que j'avais prédit et heureusement sinon il sera un petit peu génant. Voilà, les tarifs concernant les Word, Excel, Power Point, Publisher Prix de visionnage pour un mois, alors, voyez bien PrixFormation.prix_unite_visionne Et puis, par le biais de la fonction, et ben j'ai lui affecté, en passant par le pointeur qui pointe sur le contenu de l'adresse de prix_unité_visionné va affecter la valeur 19.90 euros. Et on va de même pour les autres membres de la structure. Voilà, j'espère que ça était suffisamment clair et que ceci a permis de mettre encore en évidence l'utilité fondamentale que sont les pointeurs.

L'essentiel du langage C

Comprenez les concepts de base du langage C. Développez de simples applications en mode console, afin de comprendre les rouages d’un des langages les plus utilisés au monde.

7h51 (98 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !