Full Transcript
https://www.youtube.com/watch?v=adnyaD1bVR4
[00:00] bienvenue dans cette vidéo où nous
[00:01] bienvenue dans cette vidéo où nous allons approfondir notre compréhension
[00:03] allons approfondir notre compréhension du pointeur en scène dans cette vidéo
[00:05] du pointeur en scène dans cette vidéo vous allez découvrir l'utilité et
[00:07] vous allez découvrir l'utilité et l'intérêt du pointeur ainsi comment les
[00:10] l'intérêt du pointeur ainsi comment les déclarer et l'utiliser dans votre code
[00:11] déclarer et l'utiliser dans votre code nous verrons également la différence
[00:13] nous verrons également la différence entre le passage par valeur et le
[00:15] entre le passage par valeur et le passage par référence ainsi que la
[00:17] passage par référence ainsi que la relation entre les pointeurs et les
[00:19] relation entre les pointeurs et les tableaux enfin nous aborderons les
[00:21] tableaux enfin nous aborderons les opérations arithmétiques couramment
[00:23] opérations arithmétiques couramment utilisées sur les pointeurs pour mettre
[00:26] utilisées sur les pointeurs pour mettre en pratique toutes ces connaissances
[00:27] en pratique toutes ces connaissances nous allons travailler sur un total de 5
[00:29] nous allons travailler sur un total de 5 exercices pratiques allez c'est parti
[00:37] dans cette vidéo nous allons voir la
[00:39] dans cette vidéo nous allons voir la sixième partie de ce cours les pointeurs
[00:41] sixième partie de ce cours les pointeurs afin de bien comprendre les pointeurs on
[00:44] afin de bien comprendre les pointeurs on va voir deux activités d'abord donc pour
[00:46] va voir deux activités d'abord donc pour la première activité on suppose qu'on
[00:49] la première activité on suppose qu'on est en train d'utiliser un ordinateur
[00:50] est en train d'utiliser un ordinateur bien sûr lorsqu'on utilise un ordinateur
[00:51] bien sûr lorsqu'on utilise un ordinateur l'ordinateur utilise la mémoire RAM ou
[00:54] l'ordinateur utilise la mémoire RAM ou bien la mémoire vive pour stocker
[00:56] bien la mémoire vive pour stocker temporairement les applications par
[00:59] temporairement les applications par exemple lorsqu'on exécute un jeu comme
[01:01] exemple lorsqu'on exécute un jeu comme par exemple objet pas objet va prendre
[01:03] par exemple objet pas objet va prendre un espace mémoire très intéressant dans
[01:06] un espace mémoire très intéressant dans la mémoire a par contre lorsqu'on lance
[01:08] la mémoire a par contre lorsqu'on lance d'autres programmes comme par exemple
[01:10] d'autres programmes comme par exemple faire Fox Photoshop ou bien word ils
[01:12] faire Fox Photoshop ou bien word ils vont prendre moins d'espace mémoire par
[01:14] vont prendre moins d'espace mémoire par rapport par objet et là on voit
[01:16] rapport par objet et là on voit clairement l'importance de la RAM pour
[01:19] clairement l'importance de la RAM pour un ordinateur si on veut par exemple
[01:21] un ordinateur si on veut par exemple avoir un ordinateur très puissant et
[01:24] avoir un ordinateur très puissant et très rapide on doit avoir une rame avec
[01:26] très rapide on doit avoir une rame avec une grande capacité de stockage et par
[01:29] une grande capacité de stockage et par la suite lorsqu'on par exemple faire ou
[01:32] la suite lorsqu'on par exemple faire ou bien lorsqu'on est un ordinateur les
[01:34] bien lorsqu'on est un ordinateur les applications bien l'espace mémoire dans
[01:36] applications bien l'espace mémoire dans la mémoire de ces applications là sera
[01:38] la mémoire de ces applications là sera libérée alors au début d'utilisation des
[01:42] libérée alors au début d'utilisation des ordinateurs dans les années
[01:44] ordinateurs dans les années 1980 et 1990 l'une des raisons
[01:47] 1980 et 1990 l'une des raisons d'utilisation du pointeur qu'on va voir
[01:49] d'utilisation du pointeur qu'on va voir par la suite c'est que les pointeurs
[01:51] par la suite c'est que les pointeurs économisent l'utilisation de la mémoire
[01:53] économisent l'utilisation de la mémoire RAM de l'ordinateur et c'est ça la
[01:55] RAM de l'ordinateur et c'est ça la raison principale pourquoi on utilise
[01:57] raison principale pourquoi on utilise les pointeurs avec le langage C et aussi
[02:00] les pointeurs avec le langage C et aussi le langage C++ alors une deuxième
[02:03] le langage C++ alors une deuxième activité là va aussi vous donner une activité là va aussi vous donner une idée pourquoi on utilise les pointeurs.
[02:08] idée pourquoi on utilise les pointeurs alors on suppose qu'on a un programme avec la fonction principale mine donc ce programme là contient les instructions suivantes.
[02:13] programme là contient les instructions suivantes alors là on a deux variables A et B donc là c'est la valeur de a ça c'est la valeur de B après on exécute une fonction cette fonction permet tout simplement d'échanger les valeurs de a et de de B.
[02:26] vient donc les instructions suivantes on utilise une variable intermédiaire et là en stock ou bien cette variable a permis d'échanger les contenus de X et par la suite on essaye d'afficher la valeur de a et de B après l'exécution de la fonction.
[02:41] d'afficher la valeur de a et de B après l'exécution de la fonction si on veut voir réellement ce qui se passe à l'intérieur de l'ordinateur.
[02:46] voir réellement ce qui se passe à l'intérieur de l'ordinateur là ça c'est un programme bien sûr un programme lorsque le exécuter il utilise la mémoire rein pour stocker dans ce cas-là les variables pour effectuer les échanges ainsi de suite.
[02:59] échanges ainsi de suite alors là lorsqu'on exécute le programme les deux premières instructions permet de dans ce
[03:04] premières instructions permet de dans ce cas-là de quoi de déclarer ou bien de réserver deux espaces mémoires pour a et
[03:08] l'autre pour B et par la suite on stocke la valeur a et deux dans ces deux espaces
[03:15] par la suite lorsqu'on passe à la fonction échange la fonction échange c'est comme un autre programme on a ce programme là
[03:22] qui permet de réserver cet espace mémoire pour A et B et échange c'est un autre programme et là il va aussi réserver notre espace mémoire dans la mémoire RAM
[03:31] et cette fois il y aura deux variables x et Y et par la suite donc la normalement la valeur de x dans ce cas là c'est la valeur de a à l'heure
[03:41] la valeur de A1 sera coupée ici que bien sûr la copie de AC1 par la suite on a on aura un coupé de de 2
[03:51] donc c'est à dire que la valeur de y ban soit la C2 et puis dans cette fonction-là permet de réserver un autre espace mémoire cette fois pour la variable temporaire TMP
[04:02] et là cette variable là va nous aider pour
[04:05] là cette variable là va nous aider pour échanger les valeurs de x et de y voilà
[04:08] échanger les valeurs de x et de y voilà
[04:11] maintenant les valeurs de Xi y sont échanger mais le problème sera toujours posé pour les deux variables A et B
[04:16] posé pour les deux variables A et B parce que lorsque cette fonction se termine l'espace mémoire de cette fonction là sera libérée et nous revenons à l'état initial c'est-à-dire
[04:25] revenons à l'état initial c'est-à-dire toujours la valeur de a et 1 et la valeur de B et deux
[04:32] alors l'origine de ce problème là si en fait l'utilisation des valeurs et ça c'est l'une des concepts qu'on va voir par la suite dans cette vidéo
[04:38] le passage par valeur et le passage par adresse normalement pour résoudre ce problème là il faut utiliser les pointeurs à l'aide de ce qu'on nous appelons les adresses
[04:48] d'abord nous allons revenir pour bien comprendre le problème initial ou bien pourquoi les valeurs de a et b ne sont pas échangés
[04:55] alors l'origine c'est que lorsqu'on déclare par exemple deux variables A et B pour chaque espace mémoire il y a bien sûr une adresse cette adresse là sous forme d'un code ASCII par exemple on
[05:05] forme d'un code ASCII par exemple on suppose que ça c'est l'adresse de a de
[05:07] suppose que ça c'est l'adresse de a de la variable a et ça c'est l'adresse de
[05:08] la variable a et ça c'est l'adresse de la variable B et là c'est le contenu de
[05:11] la variable B et là c'est le contenu de a et là le contenu de B alors lorsqu'on
[05:13] a et là le contenu de B alors lorsqu'on exécute la fonction échange la fonction
[05:16] exécute la fonction échange la fonction échange va réserver d'autres
[05:19] échange va réserver d'autres les adresses mémoire
[05:23] pour la variable dans ce cas là X et la
[05:25] pour la variable dans ce cas là X et la variable Y et la variable tente et
[05:28] variable Y et la variable tente et lorsqu'on effectue l'échange les choses
[05:30] lorsqu'on effectue l'échange les choses sera effectuées entre ces adresses là
[05:33] sera effectuées entre ces adresses là alors ça c'est le problème avec
[05:36] alors ça c'est le problème avec l'utilisation des valeurs ou bien de ce
[05:38] l'utilisation des valeurs ou bien de ce qu'on nous appelons le passage par
[05:39] qu'on nous appelons le passage par valeur alors comme j'ai déjà dit pour
[05:41] valeur alors comme j'ai déjà dit pour résoudre ce problème-là il faut utiliser
[05:43] résoudre ce problème-là il faut utiliser le passage par adresse ou bien par
[05:46] le passage par adresse ou bien par référence alors comment exécute le
[05:49] référence alors comment exécute le passage par référence alors là ce qu'on
[05:51] passage par référence alors là ce qu'on va faire tout simplement au moment
[05:53] va faire tout simplement au moment d'appel de la fonction échange au lieu
[05:56] d'appel de la fonction échange au lieu de
[05:57] de de passer là les valeurs de a et de B on
[06:00] de passer là les valeurs de a et de B on va passer les adresses de a et les
[06:03] va passer les adresses de a et les l'adresse de de B comme ça lorsqu'on
[06:06] l'adresse de de B comme ça lorsqu'on exécute les instructions ne fait appel à
[06:08] exécute les instructions ne fait appel à la fonction échange la fonction échange
[06:10] la fonction échange la fonction échange il va faire quoi tout simplement il va
[06:13] il va faire quoi tout simplement il va créer aussi deux espaces mémoires
[06:16] créer aussi deux espaces mémoires 1 pour X et l'autre pour y et au lieu de
[06:21] 1 pour X et l'autre pour y et au lieu de stocker ou bien de copier la valeur de a
[06:25] stocker ou bien de copier la valeur de a et de B dans cet espace mémoire
[06:29] et de B dans cet espace mémoire on va couper ou bien on va passer là
[06:32] on va couper ou bien on va passer là l'adresse de a et l'adresse de de B ici
[06:35] l'adresse de a et l'adresse de de B ici là où vient là donc passage par adresse
[06:37] là où vient là donc passage par adresse qu'on va voir par la suite alors là au
[06:40] qu'on va voir par la suite alors là au moment d'exécution de cette fonction-là
[06:42] moment d'exécution de cette fonction-là il faut bien sûr changer les
[06:43] il faut bien sûr changer les instructions donc là on utilise les
[06:45] instructions donc là on utilise les toiles les toiles signifie quoi
[06:47] toiles les toiles signifie quoi signifie que
[06:49] signifie que notre variable
[06:51] notre variable donc par exemple cette variable là donc
[06:52] donc par exemple cette variable là donc normalement ça c'est l'adresse de la
[06:55] normalement ça c'est l'adresse de la variable X et ça c'est le contenu de la
[06:58] variable X et ça c'est le contenu de la variable x alors ici donc l'ordinateur
[07:01] variable x alors ici donc l'ordinateur il va travailler avec ce qu'on nous
[07:02] il va travailler avec ce qu'on nous appelons un pointeur alors lorsqu'on met
[07:05] appelons un pointeur alors lorsqu'on met l'étoile devant le nom du pointeur ça
[07:09] l'étoile devant le nom du pointeur ça signifie quoi il va chercher cet espace
[07:12] signifie quoi il va chercher cet espace mémoire
[07:14] mémoire dans l'ordinateur donc cet espace c'est
[07:16] dans l'ordinateur donc cet espace c'est cet espace là il fait référence à cet
[07:18] cet espace là il fait référence à cet espace et là donc lorsqu'on met étoile
[07:21] espace et là donc lorsqu'on met étoile c'est-à-dire on va accéder à cet espace
[07:23] c'est-à-dire on va accéder à cet espace et on va prendre les valeurs de cet
[07:25] et on va prendre les valeurs de cet espace la valeur de cet espace c'est 1
[07:27] espace la valeur de cet espace c'est 1 et pareil pour donc la variable dans ce
[07:31] et pareil pour donc la variable dans ce cas là
[07:33] y donc y normalement c'est un pointeur
[07:36] y donc y normalement c'est un pointeur qui pointe sur cet espace mémoire et là
[07:38] qui pointe sur cet espace mémoire et là on va accéder directement à la valeur de
[07:41] on va accéder directement à la valeur de via cette opérateur alors on va revenir
[07:44] via cette opérateur alors on va revenir à ça en détail par la suite s'ajuste
[07:46] à ça en détail par la suite s'ajuste cette activité va vous donner une idée
[07:49] cette activité va vous donner une idée pourquoi on utilise les pointeurs et
[07:51] pourquoi on utilise les pointeurs et l'intérêt du pointeur après donc là on
[07:53] l'intérêt du pointeur après donc là on va tout simplement échanger les deux
[07:55] va tout simplement échanger les deux valeurs donc là on va accéder au contenu
[07:58] valeurs donc là on va accéder au contenu de l'adresse de cet espace mémoire et on
[08:03] de l'adresse de cet espace mémoire et on va retourner la valeur 1 après on va
[08:05] va retourner la valeur 1 après on va aussi accéder à cet espace mémoire David
[08:08] aussi accéder à cet espace mémoire David de cette opérateur et après on va créer
[08:11] de cette opérateur et après on va créer un autre espace mémoire ça c'est juste
[08:13] un autre espace mémoire ça c'est juste pour la variable temporaire et on va
[08:15] pour la variable temporaire et on va affecter quoi à cet espace mémoire dans
[08:16] affecter quoi à cet espace mémoire dans un premier temps on va affecter à cet
[08:18] un premier temps on va affecter à cet espace mémoire la valeur de cette
[08:20] espace mémoire la valeur de cette adresse c'est à dire 1 par la suite on
[08:22] adresse c'est à dire 1 par la suite on va accéder
[08:24] va accéder à la valeur de cet espace mémoire la
[08:26] à la valeur de cet espace mémoire la valeur de cet espace mémoire
[08:28] valeur de cet espace mémoire c'est-à-dire cette valeur 1
[08:31] c'est-à-dire cette valeur 1 et on va mettre quoi dans cette valeur
[08:33] et on va mettre quoi dans cette valeur donc on va mettre le contenu de cette
[08:36] donc on va mettre le contenu de cette adresse c'est à dire de et pareil pour y
[08:39] adresse c'est à dire de et pareil pour y on va mettre dans Y la valeur de la
[08:41] on va mettre dans Y la valeur de la variable temporaire et de cette façon là
[08:43] variable temporaire et de cette façon là lorsque cette fonction se termine
[08:47] lorsque cette fonction se termine bien sûr l'espace mémoire de cette
[08:49] bien sûr l'espace mémoire de cette fonction sera libérée mais on a effectué
[08:54] fonction sera libérée mais on a effectué l'échange des valeurs a et de
[08:56] l'échange des valeurs a et de U2 B et ça sur l'une des raisons
[08:58] U2 B et ça sur l'une des raisons derrière l'utilisation des pointeurs et
[09:02] derrière l'utilisation des pointeurs et bien sûr lorsqu'on manipule les données
[09:05] bien sûr lorsqu'on manipule les données directement via leur adresse cela permet
[09:07] directement via leur adresse cela permet de rendre l'application très rapide et
[09:10] de rendre l'application très rapide et voilà donc on s'est déjà que dans le
[09:13] voilà donc on s'est déjà que dans le domaine de la programmation Langage C++
[09:15] domaine de la programmation Langage C++ sont des langages rapides par rapport à
[09:17] sont des langages rapides par rapport à d'autres langages comme par exemple
[09:18] d'autres langages comme par exemple Python et Java et la raison bien sûr si
[09:22] Python et Java et la raison bien sûr si l'utilisation des adresses maintenant
[09:24] l'utilisation des adresses maintenant nous allons passer au cours alors voilà
[09:26] nous allons passer au cours alors voilà donc
[09:27] donc bien sûr lorsqu'on exécute un programme
[09:30] bien sûr lorsqu'on exécute un programme comme on a déjà dit donc ce programme là
[09:32] comme on a déjà dit donc ce programme là s'exécute dans la mémoire RAM de
[09:35] s'exécute dans la mémoire RAM de l'ordinateur alors on peut si vous
[09:38] l'ordinateur alors on peut si vous voulez donc bien comprendre comment cela
[09:41] voulez donc bien comprendre comment cela fonctionne on s'oppose que la mémoire
[09:43] fonctionne on s'oppose que la mémoire RAM de l'ordinateur c'est comme la poste
[09:45] RAM de l'ordinateur c'est comme la poste alors dans la poste il y a plusieurs
[09:47] alors dans la poste il y a plusieurs cases ou bien la poste on dit que ce
[09:50] cases ou bien la poste on dit que ce sont des boîtes postales pour chaque
[09:52] sont des boîtes postales pour chaque boîte postale il y a une adresse et bien
[09:55] boîte postale il y a une adresse et bien sûr à l'intérieur de cette adresse il y
[09:57] sûr à l'intérieur de cette adresse il y a quelque chose alors là on va utiliser
[09:59] a quelque chose alors là on va utiliser cette donc cette analogie ou bien cette
[10:02] cette donc cette analogie ou bien cette illustration pour bien comprendre ce qui
[10:04] illustration pour bien comprendre ce qui se passe réellement lorsqu'on déclare
[10:06] se passe réellement lorsqu'on déclare une variable alors lorsqu'on déclare
[10:07] une variable alors lorsqu'on déclare normalement une variable normale comme
[10:10] normalement une variable normale comme la variable à alors le programme va
[10:12] la variable à alors le programme va choisir dans cette rampe par exemple
[10:16] un espace mémoire aléatoire comme par exemple
[10:20] cet espace là donc avec cette adresse et après on va stocker dans cette adresse la valeur 2
[10:28] alors donc ça c'est l'adresse de la variable a lorsqu'on crée un pointeur
[10:33] alors pour créer un pointeur déjà on doit ajouter l'opérateur étoile juste avant le nom qu'on va choisir pour ce pointeur par la suite
[10:41] l'ordinateur aussi ou bien le programme aussi va choisir un espace mémoire aléatoire ou bien une adresse aléatoire comme par exemple
[10:47] ça s'adresse là et bien sûr lorsqu'on déclare un pointeur il faut obligatoirement ajouter l'adresse de la variable sur laquelle il pointe
[10:57] par exemple cette variable stockée ici qui est normalement un pointeur il pointe sur cette variable
[11:04] alors là comment faire ça avec langage C
[11:10] on doit ajouter devant juste devant la variable a donc lorsqu'on fait normalement l'affectation l'adresse donc le e-commercial et comme ça la variable
[11:17] le e-commercial et comme ça la variable P pointe sur la variable a et
[11:20] P pointe sur la variable a et automatiquement à l'intérieur ou bien
[11:23] automatiquement à l'intérieur ou bien comme contenu de cette variable on a
[11:24] comme contenu de cette variable on a quoi on a l'adresse de la variable
[11:30] voilà donc généralement qu'est-ce que un
[11:33] voilà donc généralement qu'est-ce que un pointeur un pointeur c'est tout
[11:35] pointeur un pointeur c'est tout simplement une variable qui contient
[11:37] simplement une variable qui contient l'adresse d'une autre variable c'est ça
[11:38] l'adresse d'une autre variable c'est ça donc la variable ou bien le pointeur P
[11:41] donc la variable ou bien le pointeur P contient l'adresse de la variable
[11:43] contient l'adresse de la variable a voilà maintenant on va voir quelques
[11:46] a voilà maintenant on va voir quelques opérations si on ajoute cette
[11:47] opérations si on ajoute cette instruction l'adresse d donc c'est
[11:50] instruction l'adresse d donc c'est l'indicateur de format et là on met
[11:52] l'indicateur de format et là on met étoile P ça signifie quoi signifie qu'on
[11:55] étoile P ça signifie quoi signifie qu'on va afficher le contenu de la variable
[11:58] va afficher le contenu de la variable sur laquelle il pointe P le contenu de
[12:01] sur laquelle il pointe P le contenu de la variable sur laquelle il pointe PC C2
[12:05] la variable sur laquelle il pointe PC C2 alors tout simplement nous aurons la
[12:07] alors tout simplement nous aurons la valeur 2 comme résultat si on affecte
[12:09] valeur 2 comme résultat si on affecte cette valeur au contenu de paix c'est
[12:12] comme on fait quoi c'est comme on affecte à la valeur a la valeur 2
[12:13] affecte à la valeur a la valeur 2 c'est-à-dire on va affecter à la
[12:18] c'est-à-dire on va affecter à la variable et les pointes P la valeur 85.
[12:21] alors là désolé là c'est 85 alors là.
[12:26] alors là désolé là c'est 85 alors là donc le résultat après l'exécution de cette instruction c'est quoi c'est que la valeur de la variable a sera changé.
[12:32] c'est-à-dire là on a 85.
[12:36] si on essaye d'afficher les instructions suivantes alors la première instruction si on a un affiche directement a alors directement là c'est la valeur quoi.
[12:45] c'est la valeur 85 si on affiche le contenu de paix le contenu de paix c'est à dire la valeur de la variable sur laquelle il pointe paix donc la automatiquement c'est toujours 85.
[12:57] si on affiche l'adresse de A donc ici de faire ça avec quoi De Block.
[13:08] donc ici de faire ça avec quoi De Block vous allez trouver que ça c'est donc normalement vous allez trouver d'autres adresses pour notre exemple dans cet exemple là c'est l'adresse de la variable as dans ce cas là c'est un A4.
[13:19] variable as dans ce cas là c'est un A4 voilà si on affiche la valeur de p
[13:21] voilà si on affiche la valeur de p qu'est-ce que quelle est la valeur de p
[13:23] qu'est-ce que quelle est la valeur de p à votre œil la valeur de PC tout
[13:25] à votre œil la valeur de PC tout simplement le contenu de cette case le
[13:26] simplement le contenu de cette case le contenu de cette case c'est 1
[13:28] contenu de cette case c'est 1 à 4 ou bien avec un autre mot c'est
[13:31] à 4 ou bien avec un autre mot c'est l'adresse de la variable sur laquelle il
[13:33] l'adresse de la variable sur laquelle il pointe la variable
[13:36] pointe la variable la dernière chose si on essaye
[13:38] la dernière chose si on essaye d'afficher l'adresse de paix donc
[13:40] d'afficher l'adresse de paix donc l'adresse de P c'est tout simplement un
[13:42] l'adresse de P c'est tout simplement un B 5 voilà donc j'espère que vous avez
[13:46] B 5 voilà donc j'espère que vous avez bien compris toutes ces instructions
[13:47] bien compris toutes ces instructions comment déclarer d'abord un pointeur et
[13:50] comment déclarer d'abord un pointeur et donc ajouter que ce pointeur pointe sur
[13:53] donc ajouter que ce pointeur pointe sur une variable comme par exemple la
[13:55] une variable comme par exemple la variable a donc avec cet instruction on
[13:57] variable a donc avec cet instruction on peut même utiliser une autre instruction
[13:59] peut même utiliser une autre instruction vous pouvez au moment de déclaration int
[14:01] vous pouvez au moment de déclaration int par exemple p affecté AP quoi mettre
[14:05] par exemple p affecté AP quoi mettre tout simplement l'adresse de de a donc
[14:08] tout simplement l'adresse de de a donc vous pouvez utiliser ces deux
[14:10] vous pouvez utiliser ces deux instructions ou bien tout simplement
[14:11] instructions ou bien tout simplement cette instruction alors c'est ça ce
[14:13] cette instruction alors c'est ça ce qu'on va voir maintenant donc on suppose
[14:15] qu'on va voir maintenant donc on suppose qu'on a une autre variable déclarée avec
[14:17] qu'on a une autre variable déclarée avec la deuxième méthode non Q alors on a
[14:20] la deuxième méthode non Q alors on a déclaré Q qui pointe sur la même variable la variable a alors si on veut illustrer ça c'est comme on a choisi une autre adresse aléatoire donc c'est à dire cette adresse là et cette adresse toujours pointe sur la même variable c'est-à-dire cette variable alors le contenu de cette case c'est un A4 alors on a maintenant deux pointeurs le pointeur paix il pointeur Q qui pointe sur la même variable c'est-à-dire cette variable là alors là on peut exécuter d'autres instructions c'est on fait par exemple le contenu de paix - a toujours lorsqu'on met l'étoile c'est-à-dire la valeur de la variable sur laquelle il pointe P c'est toujours 85 - la valeur de a c'est 85 alors la valeur de la variable sur laquelle une pointe Q ça devait cette variable là sera changé et quelle est la valeur sur laquelle il pointe cette variable c'est toujours cette case mémoire alors quelle est la
[15:22] cette case mémoire alors quelle est la valeur de cette case mémoire après l'exécution de cette instruction c'est tout simplement zéro comme vous pouvez maintenant déduire ne pouvons contrôler la valeur d'une variable soit via son nom direct ou bien via son pointeur par exemple p dans ce cas là ou bien que dans ce cas là si on essaye d'afficher les valeurs suivantes on essaye d'afficher la même valeur de la même variable c'est-à-dire la valeur de a vide directement son nom ou bien via leur pointeur pi ou bien P ou bien voilà ça c'est une illustration qui va vous aider à bien comprendre les pointeurs vous pouvez toujours faire l'analogie suivante vous pouvez imaginer que la mémoire RAM de l'ordinateur c'est comme la poste et dans cette poste là on a plusieurs boîtes postales et pour chaque boîte postale il y a l'adresse de cette boîte et aussi il y a le contenu de cette boîte alors maintenant vous pouvez faire l'analogie donc la mémoire RAM c'est quoi c'est tout simplement à l'ensemble des cases mémoires et dans chaque case mémoire il y a une adresse
[16:23] chaque case mémoire il y a une adresse et pour chaque cadence il y a une valeur
[16:25] et pour chaque cadence il y a une valeur qui est stockée dans cette adresse là
[16:27] qui est stockée dans cette adresse là voilà donc j'espère que vous avez bien compris qu'est-ce que les pointeurs
[16:29] voilà donc j'espère que vous avez bien compris qu'est-ce que les pointeurs
[16:31] compris qu'est-ce que les pointeurs alors qu'est-ce qu'on a un pointeur
[16:32] alors qu'est-ce qu'on a un pointeur c'est tout simplement une variable comme j'ai déjà dit qui contient l'adresse
[16:34] c'est tout simplement une variable comme j'ai déjà dit qui contient l'adresse d'une autre variable
[16:36] j'ai déjà dit qui contient l'adresse d'une autre variable si un pointeur peut contient l'adresse d'une autre variable
[16:39] d'une autre variable a on dit que P pointe sur a voilà donc ça sent la définition d'un pointeur si vous voulez
[16:42] a on dit que P pointe sur a voilà donc ça sent la définition d'un pointeur si vous voulez
[16:45] définition d'un pointeur si vous voulez toujours garder ou même bien mémoriser qu'est-ce qu'un pointeur vous pouvez
[16:47] toujours garder ou même bien mémoriser qu'est-ce qu'un pointeur vous pouvez toujours revenir à cette phrase de sol
[16:49] toujours revenir à cette phrase de sol Goodman dans Breaking Bad qui va vous aider aussi bien encore une fois de
[16:51] Goodman dans Breaking Bad qui va vous aider aussi bien encore une fois de mémoriser qu'est-ce qu'on a un pointeur
[16:54] mémoriser qu'est-ce qu'on a un pointeur voilà donc maintenant nous allons passer aux opérateurs de base sur un pointeur
[16:56] voilà donc maintenant nous allons passer aux opérateurs de base sur un pointeur donc comme on a déjà expliqué les deux
[16:58] donc comme on a déjà expliqué les deux opérateurs qui sont nécessaires lorsqu'on utilise un pointeur c'est
[16:59] opérateurs qui sont nécessaires lorsqu'on utilise un pointeur c'est l'adresse ou bien le e-commercial et aussi l'étoile
[17:02] l'adresse ou bien le e-commercial et aussi l'étoile donc le e-commercial permet d'obtenir l'adresse d'une variable
[17:04] permet d'obtenir l'adresse d'une variable et pour l'étoile permet d'accéder au contenu d'une adresse voilà
[17:06] variable et pour l'étoile permet d'accéder au contenu d'une adresse voilà donc ce sont les deux opérateurs qu'on utilise avec les pointeurs alors pour
[17:07] donc ce sont les deux opérateurs qu'on utilise avec les pointeurs alors pour
[17:24] utilise avec les pointeurs alors pour créer un point d'or il y a deux méthodes
[17:26] créer un point d'or il y a deux méthodes soit la première soit la deuxième alors
[17:28] soit la première soit la deuxième alors la première permet de déclarer aussi
[17:30] la première permet de déclarer aussi mettre la variable sur laquelle nous
[17:32] mettre la variable sur laquelle nous allons pointer donc c'est à dire à
[17:35] allons pointer donc c'est à dire à l'aide de cette instruction étoile P
[17:36] l'aide de cette instruction étoile P égal l'adresse de a alors
[17:38] égal l'adresse de a alors automatiquement la variable P ou bien le
[17:40] automatiquement la variable P ou bien le pointeur P pointure a ou bien déclarer
[17:44] pointeur P pointure a ou bien déclarer les deux dans deux lignes séparées et là
[17:45] les deux dans deux lignes séparées et là il faut déclarer pointeur avec l'étoile
[17:48] il faut déclarer pointeur avec l'étoile P et par la suite utiliser directement P
[17:51] P et par la suite utiliser directement P mettre dans paix l'adresse de a donc
[17:54] mettre dans paix l'adresse de a donc c'est ça donc les deux méthodes pour
[17:56] c'est ça donc les deux méthodes pour déclarer un pointeur
[17:58] déclarer un pointeur alors je vous donne un exemple par
[18:00] alors je vous donne un exemple par exemple le son déclare la variable a
[18:02] exemple le son déclare la variable a nous aurons l'espace mémoire de a et
[18:05] nous aurons l'espace mémoire de a et dans cet espace on a la valeur 8 et par
[18:07] dans cet espace on a la valeur 8 et par la suite lorsqu'on déclare le pointeur P
[18:11] la suite lorsqu'on déclare le pointeur P c'est comme on met dans T l'adresse de a
[18:14] c'est comme on met dans T l'adresse de a et automatiquement P pointe sur la
[18:17] et automatiquement P pointe sur la variable a ou bien le contenu maintenant
[18:20] variable a ou bien le contenu maintenant si on met l'étoile P de ce pointeur
[18:23] si on met l'étoile P de ce pointeur c'est 8 et voilà donc ça c'est un
[18:25] c'est 8 et voilà donc ça c'est un exemple qui illustre qu'est-ce que se
[18:27] exemple qui illustre qu'est-ce que se passe lorsqu'on déclare un pointeur
[18:29] passe lorsqu'on déclare un pointeur maintenant on va passer à notre premier
[18:31] maintenant on va passer à notre premier exercice on suppose qu'on a plusieurs
[18:33] exercice on suppose qu'on a plusieurs variables A et B et C et de pointeur P1
[18:35] et P2 on va essayer de donner les
[18:38] et P2 on va essayer de donner les valeurs après chaque instruction on
[18:40] valeurs après chaque instruction on commence avec la première instruction
[18:41] commence avec la première instruction lorsqu'on met P1 reçoit l'adresse de a
[18:45] lorsqu'on met P1 reçoit l'adresse de a c'est comme on met un pointeur sur la
[18:48] c'est comme on met un pointeur sur la variable
[18:50] variable maintenant P1 pointe sur la variable a
[18:53] maintenant P1 pointe sur la variable a et automatiquement dans P1 nous avons
[18:56] et automatiquement dans P1 nous avons quoi nous avons l'adresse de la variable
[18:58] quoi nous avons l'adresse de la variable a après nous passons à cette instruction
[19:01] a après nous passons à cette instruction là on a tout simplement un autre
[19:02] là on a tout simplement un autre pointeur qui pointe cette fois sur la
[19:04] pointeur qui pointe cette fois sur la variable C à leur nom P2 nous avons quoi
[19:06] variable C à leur nom P2 nous avons quoi là nous avons l'adresse de la variable
[19:08] là nous avons l'adresse de la variable c'est maintenant nous passons à cet
[19:10] c'est maintenant nous passons à cet instruction cette instruction permet
[19:12] instruction cette instruction permet d'abord d'accéder au contenu de P2 le
[19:15] d'abord d'accéder au contenu de P2 le contenu de P2 c'est le contenu de la
[19:17] contenu de P2 c'est le contenu de la variable sur laquelle il pointe P2
[19:20] variable sur laquelle il pointe P2 c'est-à-dire 6 c'est-à-dire 3 après
[19:22] c'est-à-dire 6 c'est-à-dire 3 après l'affectation cette valeur sera
[19:24] l'affectation cette valeur sera incrémentée c'est-à-dire que après
[19:26] incrémentée c'est-à-dire que après l'exécution de cette instruction la
[19:28] l'exécution de cette instruction la valeur 3 passera à 4 mais avant
[19:32] valeur 3 passera à 4 mais avant d'incrémenter on va affecter quoi on va
[19:34] d'incrémenter on va affecter quoi on va affecter à P1 le contenu de P2
[19:36] affecter à P1 le contenu de P2 c'est-à-dire on va affecter à la valeur
[19:39] c'est-à-dire on va affecter à la valeur sur laquelle il pointe P1 c'est-à-dire
[19:42] sur laquelle il pointe P1 c'est-à-dire la valeur de a la valeur 3
[19:45] la valeur de a la valeur 3 et après l'exécution de cette
[19:46] et après l'exécution de cette instruction nous avons la 3 et là on a
[19:49] instruction nous avons la 3 et là on a quatre puisque donc l'opérateur
[19:51] quatre puisque donc l'opérateur d'incrémentation c'est après la variable
[19:53] d'incrémentation c'est après la variable maintenant nous passons à cette
[19:54] maintenant nous passons à cette instruction alors tout simplement là on
[19:56] instruction alors tout simplement là on va affecter à P1 P2 ça signifie quoi
[19:59] va affecter à P1 P2 ça signifie quoi signifie que le contenu de P1 sera
[20:03] signifie que le contenu de P1 sera changé par
[20:05] changé par cette valeur c'est à dire là on a quoi
[20:07] c'est à dire là on a quoi on a l'adresse de C et automatiquement
[20:09] on a l'adresse de C et automatiquement maintenant P1 point sur la variable
[20:12] maintenant P1 point sur la variable c'est comme P2 ne passons maintenant à
[20:15] c'est comme P2 ne passons maintenant à cette instruction alors là on fait quoi
[20:17] cette instruction alors là on fait quoi on va affecter à P2 l'adresse de B2
[20:19] on va affecter à P2 l'adresse de B2 l'adresse de B2 c'est-à-dire l'adresse
[20:21] l'adresse de B2 c'est-à-dire l'adresse de cette variable alors maintenant P2
[20:25] de cette variable alors maintenant P2 pointe sur la variable
[20:28] pointe sur la variable nous passons maintenant à cette
[20:29] nous passons maintenant à cette instruction alors là on va affecter à au
[20:31] instruction alors là on va affecter à au contenu ou bien à la valeur sur laquelle
[20:35] contenu ou bien à la valeur sur laquelle pointe P1
[20:37] pointe P1 un point sur C c'est à dire cette valeur
[20:39] un point sur C c'est à dire cette valeur là on va affecter cette valeur cette
[20:42] là on va affecter cette valeur cette valeur moi
[20:44] valeur moi le contenu de la valeur sur laquelle il
[20:46] le contenu de la valeur sur laquelle il pointe P2 donc là il faut différencier
[20:48] pointe P2 donc là il faut différencier toujours les toiles de la multiplication
[20:50] toujours les toiles de la multiplication donc normalement les toile est
[20:53] donc normalement les toile est accompagné toujours avec les pointeurs
[20:54] accompagné toujours avec les pointeurs lorsqu'on utilise directement P2 ça
[20:57] lorsqu'on utilise directement P2 ça signifie qu'on est en train de manipuler
[20:59] signifie qu'on est en train de manipuler l'adresse de la variable sur laquelle il
[21:01] l'adresse de la variable sur laquelle il pointe P2 alors je reviens maintenant on
[21:04] pointe P2 alors je reviens maintenant on va affecter à cette valeur c'est-à-dire
[21:06] va affecter à cette valeur c'est-à-dire 4 la valeur 4 - la valeur sur laquelle
[21:09] 4 la valeur 4 - la valeur sur laquelle il pointe P2 c'est-à-dire P2 et point
[21:12] il pointe P2 c'est-à-dire P2 et point sur B c'est à dire 2 alors là nous avons
[21:14] sur B c'est à dire 2 alors là nous avons donc P2 dans ce cas là la valeur
[21:18] donc P2 dans ce cas là la valeur voilà nous passons à cette instruction
[21:20] voilà nous passons à cette instruction alors là on va incrémenter la valeur de
[21:23] alors là on va incrémenter la valeur de P2 alors la valeur de p de normalement
[21:26] P2 alors la valeur de p de normalement ou bien la valeur sur laquelle il pointe
[21:28] ou bien la valeur sur laquelle il pointe P2 donc P2 normalement point sur deux
[21:31] P2 donc P2 normalement point sur deux alors de passera normalement à 3 voilà
[21:34] alors de passera normalement à 3 voilà après ce qu'on va faire on va affecter à
[21:37] après ce qu'on va faire on va affecter à la valeur sur laquelle il pointe P1 P1
[21:41] la valeur sur laquelle il pointe P1 P1 point normalement sur C c'est-à-dire
[21:42] point normalement sur C c'est-à-dire cette valeur là on va affecter à cette
[21:45] cette valeur là on va affecter à cette valeur cette valeur de x
[21:49] la valeur sur laquelle il pointe P2 P2
[21:52] la valeur sur laquelle il pointe P2 P2 pointe sur la valeur normalement là C3
[21:54] pointe sur la valeur normalement là C3 alors 2 x 3 ce qui va nous donner 6
[21:57] alors 2 x 3 ce qui va nous donner 6 après nous passons à cette instruction
[21:59] après nous passons à cette instruction alors on va affecter a c'est-à-dire
[22:01] alors on va affecter a c'est-à-dire cette valeur cette case
[22:04] cette valeur cette case l'incrémentation de P2 donc P2
[22:06] l'incrémentation de P2 donc P2 c'est-à-dire la valeur sur laquelle il
[22:08] c'est-à-dire la valeur sur laquelle il pointe P2 pour les deux pointes sur B
[22:11] pointe P2 pour les deux pointes sur B c'est à dire cette valeur alors cette
[22:13] c'est à dire cette valeur alors cette valeur sera incrémentée d'abord donc ça
[22:16] valeur sera incrémentée d'abord donc ça a passé à 4
[22:18] a passé à 4 et on va multiplier 4 fois
[22:22] la valeur sur laquelle il pointe P1 P1
[22:24] la valeur sur laquelle il pointe P1 P1 point normalement sur c'est à dire 4 x 6
[22:27] point normalement sur c'est à dire 4 x 6 ce qui va nous donner pour cette valeur
[22:29] ce qui va nous donner pour cette valeur là
[22:31] là 24 et cette valeur il faut faire
[22:33] 24 et cette valeur il faut faire attention cette valeur passe à 4
[22:36] attention cette valeur passe à 4 voilà c'est ça après nous passons à
[22:39] voilà c'est ça après nous passons à cette instruction alors là on va changer
[22:41] cette instruction alors là on va changer la variable sur laquelle il pointe P1 a
[22:44] la variable sur laquelle il pointe P1 a maintenant pointe sur a voilà donc alors
[22:48] maintenant pointe sur a voilà donc alors normalement là nous aurons l'adresse de
[22:50] normalement là nous aurons l'adresse de a pour P1 finalement on a cette ligne
[22:54] a pour P1 finalement on a cette ligne d'affectation alors lorsque vous avez
[22:57] d'affectation alors lorsque vous avez cette ligne bien plusieurs affectations
[22:59] cette ligne bien plusieurs affectations dans la même ligne vous commencez
[23:00] dans la même ligne vous commencez toujours à partir de la droite alors on
[23:03] toujours à partir de la droite alors on va affecter un quoi la valeur de P1 ou
[23:06] va affecter un quoi la valeur de P1 ou bien la valeur sur laquelle il pointe P1
[23:08] bien la valeur sur laquelle il pointe P1 c'est à dire 24
[23:11] sur
[23:13] sur la valeur sur laquelle il pointe P2 P2
[23:16] la valeur sur laquelle il pointe P2 P2 il pointe normalement sur B
[23:18] il pointe normalement sur B donc 24 sur 4 ce qui va nous donner pour
[23:22] donc 24 sur 4 ce qui va nous donner pour la valeur sur laquelle il pointe P1
[23:25] la valeur sur laquelle il pointe P1 P1 toujours c'est la valeur a on va
[23:28] P1 toujours c'est la valeur a on va mettre la 6 il faut faire attention et
[23:30] mettre la 6 il faut faire attention et on va l'affecter à quoi on va l'affecter
[23:32] on va l'affecter à quoi on va l'affecter AP
[23:33] AP normalement P2 il pointe sur B alors là
[23:36] normalement P2 il pointe sur B alors là nous aurons dans cette valeur cette case
[23:39] nous aurons dans cette valeur cette case là cette valeur c'est à dire 6 et voilà
[23:42] là cette valeur c'est à dire 6 et voilà le résultat final si vous voulez aller
[23:44] le résultat final si vous voulez aller plus loin essayez de déclarer tout ça
[23:46] plus loin essayez de déclarer tout ça avec code block c'est easy de chaque
[23:48] avec code block c'est easy de chaque fois d'exécuter ses instructions vous
[23:50] fois d'exécuter ses instructions vous allez trouver exactement les mêmes
[23:52] allez trouver exactement les mêmes résultats maintenant nous passons à une
[23:54] résultats maintenant nous passons à une chose très importante qu'on a vu au
[23:56] chose très importante qu'on a vu au départ de cette vidéo c'est le passage
[23:58] départ de cette vidéo c'est le passage par valeur et le passage par référence
[24:00] par valeur et le passage par référence ou bien différent on dit aussi passage
[24:02] ou bien différent on dit aussi passage par adresse alors on va voir la
[24:04] par adresse alors on va voir la différence entre les deux et on va voir
[24:06] différence entre les deux et on va voir l'importance cette fois d'utiliser les
[24:08] l'importance cette fois d'utiliser les pointeurs alors le pointeur c'est un
[24:10] pointeurs alors le pointeur c'est un concept très important qui permet
[24:11] concept très important qui permet d'éviter les problèmes posés par le
[24:13] d'éviter les problèmes posés par le passage par valeur qu'on a déjà vu au
[24:16] passage par valeur qu'on a déjà vu au départ de cette vidéo on va voir
[24:18] départ de cette vidéo on va voir maintenant tout ça en détail
[24:19] maintenant tout ça en détail on va prendre deux programmes à
[24:23] on va prendre deux programmes à programme avec le passage par valeur
[24:25] programme avec le passage par valeur donc des choses qui sont normales et un
[24:29] donc des choses qui sont normales et un deuxième programme cette fois avec le
[24:30] deuxième programme cette fois avec le passage par référence alors là il faut
[24:32] passage par référence alors là il faut faire attention et là il faut mettre on
[24:35] faire attention et là il faut mettre on vient il faut passer les adresses des
[24:37] vient il faut passer les adresses des variables comme paramètres pour la
[24:39] variables comme paramètres pour la fonction échange et au moment
[24:40] fonction échange et au moment d'utilisation des variables à
[24:43] d'utilisation des variables à l'intérieur de cette fonction il faut
[24:44] l'intérieur de cette fonction il faut bien sûr mettre ou bien ajouter l'étoile
[24:46] bien sûr mettre ou bien ajouter l'étoile pour accéder au contenu de ces variables
[24:49] pour accéder au contenu de ces variables puisque sont considérables la X et Y se
[24:53] puisque sont considérables la X et Y se sont considérés comme dit quad comme dit
[24:55] sont considérés comme dit quad comme dit pointeur et là on passe c'est comme on
[24:59] pointeur et là on passe c'est comme on met par exemple x int
[25:01] met par exemple x int X
[25:03] X = ou bien pointeur égal normalement
[25:05] = ou bien pointeur égal normalement l'adresse de a c'est équivalent à ces
[25:09] l'adresse de a c'est équivalent à ces instructions là ça c'est l'adresse et
[25:10] instructions là ça c'est l'adresse et cette affectation sera effectuée ici
[25:13] cette affectation sera effectuée ici pour comprendre la réalité bien ce que
[25:15] pour comprendre la réalité bien ce que se passe en réalité ne pouvant utiliser
[25:18] se passe en réalité ne pouvant utiliser l'analogie suivante alors nous supposons
[25:21] l'analogie suivante alors nous supposons que nous avons une personne en train de
[25:25] que nous avons une personne en train de boire une bouteille de soda cette
[25:28] boire une bouteille de soda cette bouteille là normalement représente une
[25:29] bouteille là normalement représente une variable par exemple la variable a alors
[25:33] variable par exemple la variable a alors nous passons cette variable ou bien la
[25:35] nous passons cette variable ou bien la valeur de cette variable comme une copie
[25:38] valeur de cette variable comme une copie c'est-à-dire on va créer une autre
[25:39] c'est-à-dire on va créer une autre bouteille de soda et cette bouteille
[25:42] bouteille de soda et cette bouteille sera utilisée par ultra personne de
[25:45] sera utilisée par ultra personne de l'autre fonction la fonction qu'on fait
[25:46] l'autre fonction la fonction qu'on fait appel dans la fonction mince c'est à
[25:49] appel dans la fonction mince c'est à dire la fonction qui utilise le passage
[25:50] dire la fonction qui utilise le passage par valeur et cette deuxième personne ce
[25:53] par valeur et cette deuxième personne ce qu'il va faire normalement il va boire
[25:56] qu'il va faire normalement il va boire la deuxième bouteille c'est à dire la
[25:58] la deuxième bouteille c'est à dire la couper voilà c'est comme ça
[26:01] couper voilà c'est comme ça après lorsqu'on revient à notre
[26:03] après lorsqu'on revient à notre programme initial toujours nous aurons
[26:06] programme initial toujours nous aurons la même bouteille la bouteille initiale
[26:08] la même bouteille la bouteille initiale qui n'était pas changée lorsqu'on
[26:11] qui n'était pas changée lorsqu'on utilise le passage par référence alors
[26:13] utilise le passage par référence alors le passage par référence normalement on
[26:16] le passage par référence normalement on met pas une copie de la bouteille de
[26:19] met pas une copie de la bouteille de soda mais cette fois la deuxième
[26:21] soda mais cette fois la deuxième personne ou bien la deuxième variable
[26:23] personne ou bien la deuxième variable que normalement par la logistique le
[26:25] que normalement par la logistique le pointeur qu'on utilise normalement dans
[26:27] pointeur qu'on utilise normalement dans le passage par référence et il pointe
[26:30] le passage par référence et il pointe sur quoi ou bien il utilise quoi il
[26:32] sur quoi ou bien il utilise quoi il utilise la bouteille originale alors
[26:35] utilise la bouteille originale alors dans ce cas là les deux personnes vont
[26:37] dans ce cas là les deux personnes vont boire la même bouteille de soda alors
[26:41] boire la même bouteille de soda alors j'espère que vous avez bien compris
[26:42] j'espère que vous avez bien compris maintenant la différence entre les deux
[26:45] maintenant la différence entre les deux donc passage par valeur on crée une
[26:46] donc passage par valeur on crée une coupée de la variable initiale dans le
[26:49] coupée de la variable initiale dans le passage par référence on passe la même
[26:51] passage par référence on passe la même variable et il est deux ils peuvent
[26:54] variable et il est deux ils peuvent manipuler la même variable donc ici on
[26:58] manipuler la même variable donc ici on utilise la variable directement et là on
[27:00] utilise la variable directement et là on manipule la variable son adresse voilà
[27:03] manipule la variable son adresse voilà donc pour résumer tout ça dans le
[27:05] donc pour résumer tout ça dans le passage par valeur une copie des
[27:07] passage par valeur une copie des arguments réels et transmis aux
[27:09] arguments réels et transmis aux arguments aux formules respectives donc
[27:11] arguments aux formules respectives donc là on crée du copier alors on manipule
[27:13] là on crée du copier alors on manipule pas les valeurs ou bien les variables
[27:14] pas les valeurs ou bien les variables réelles au manipule uniquement les
[27:16] réelles au manipule uniquement les couper dans le passage par référence
[27:18] couper dans le passage par référence l'emplacement ou bien l'adresse des
[27:21] l'emplacement ou bien l'adresse des arguments réels et transmis à des
[27:24] arguments réels et transmis à des arguments formels c'est-à-dire on fait
[27:26] arguments formels c'est-à-dire on fait la manipulation des données réelles ou
[27:28] la manipulation des données réelles ou bien les valeurs des variables réelles
[27:30] bien les valeurs des variables réelles via son adresse et toute modification
[27:33] via son adresse et toute modification apportée aux arguments formides va
[27:35] apportée aux arguments formides va affecter également les arguments réels
[27:38] affecter également les arguments réels comme on l'a vu pour l'exemple de la
[27:40] comme on l'a vu pour l'exemple de la bouteille de soda voilà maintenant ce
[27:43] bouteille de soda voilà maintenant ce qu'on va faire on va essayer d'écrire un
[27:45] qu'on va faire on va essayer d'écrire un programme qui va contenir une fonction
[27:47] programme qui va contenir une fonction cette fonction tout simplement permet de
[27:49] cette fonction tout simplement permet de déterminer le maximum de deux valeurs
[27:51] déterminer le maximum de deux valeurs saisies par l'utilisateur alors là bien
[27:53] saisies par l'utilisateur alors là bien sûr on va utiliser quoi on va utiliser
[27:55] sûr on va utiliser quoi on va utiliser le passage par adresse ou bien on dit
[27:57] le passage par adresse ou bien on dit des fois de passage par référence alors
[27:59] des fois de passage par référence alors pour déterminer le max il faut bien sûr
[28:01] pour déterminer le max il faut bien sûr avoir deux valeurs de deux variables la
[28:04] avoir deux valeurs de deux variables la variable a et la variable B et on va
[28:07] variable a et la variable B et on va stocker tout ça dans la variable max
[28:09] stocker tout ça dans la variable max donc Max va contenir quoi va contenir le
[28:11] donc Max va contenir quoi va contenir le max entre A et B alors on demande à
[28:14] max entre A et B alors on demande à l'utilisateur d'abord de saisir la
[28:15] l'utilisateur d'abord de saisir la valeur de a et de saisir aussi la valeur
[28:17] valeur de a et de saisir aussi la valeur de B alors pour cela on va écrire les
[28:19] de B alors pour cela on va écrire les deux messages suivants alors voilà donc
[28:22] deux messages suivants alors voilà donc ça c'est la récupération de la valeur de
[28:24] ça c'est la récupération de la valeur de a et de B maintenant nous passons à
[28:26] a et de B maintenant nous passons à l'appel de la fonction donc la fonction
[28:28] l'appel de la fonction donc la fonction qu'on va appeler c'est la fonction
[28:30] qu'on va appeler c'est la fonction maximum qui va retourner le max entre A
[28:33] maximum qui va retourner le max entre A et B donc ce qu'on fait normalement dans
[28:36] et B donc ce qu'on fait normalement dans le passage par valeur on met a b donc ce
[28:40] le passage par valeur on met a b donc ce sont les deux paramètres de la fonction
[28:41] sont les deux paramètres de la fonction et puis si on veut par exemple
[28:44] et puis si on veut par exemple stocker le max entre les deux entre dans
[28:47] stocker le max entre les deux entre dans une variable par exemple max on met Max
[28:49] une variable par exemple max on met Max comme 3e paramètres c'est ça donc le
[28:52] comme 3e paramètres c'est ça donc le passage par valeur ce qu'on voit ici
[28:54] passage par valeur ce qu'on voit ici maintenant de faire c'est d'utiliser le
[28:55] maintenant de faire c'est d'utiliser le passage par référence par adresse alors
[28:58] passage par référence par adresse alors pas adresse signifie quoi signifie il
[29:00] pas adresse signifie quoi signifie il faut ajouter devant chaque l'adresse et
[29:03] faut ajouter devant chaque l'adresse et comme ça au lieu de manipuler les
[29:05] comme ça au lieu de manipuler les valeurs nous allons manipuler les
[29:07] valeurs nous allons manipuler les adresses différentes valeurs là et par
[29:10] adresses différentes valeurs là et par conséquent lorsqu'on exécute ou bien
[29:12] conséquent lorsqu'on exécute ou bien donc la fonction vers le programme
[29:14] donc la fonction vers le programme exécute la fonction maximale les
[29:17] exécute la fonction maximale les paramètres qui sont utilisés à
[29:19] paramètres qui sont utilisés à l'intérieur de la fonction maximum vont
[29:21] l'intérieur de la fonction maximum vont accéder aux valeurs vraies de A et de B
[29:24] accéder aux valeurs vraies de A et de B alors au moment bien sûr de la
[29:27] alors au moment bien sûr de la définition de la fonction il faut mettre
[29:29] définition de la fonction il faut mettre la honte
[29:30] la honte l'adresse ou bien là le pointeur a int
[29:33] l'adresse ou bien là le pointeur a int le pointeur
[29:35] le pointeur [Musique]
[29:38] [Musique] le pointeur max ou bien si vous voulez
[29:41] le pointeur max ou bien si vous voulez aller plus loin donc vous pouvez même
[29:43] aller plus loin donc vous pouvez même changer les valeurs bien changer les
[29:45] changer les valeurs bien changer les noms d'utiliser d'autres variables x et
[29:49] noms d'utiliser d'autres variables x et Y et l alors la fonction ne retombe
[29:52] Y et l alors la fonction ne retombe aucune chose donc il fait le
[29:54] aucune chose donc il fait le manipulation et stocke tout ça dans la
[29:55] manipulation et stocke tout ça dans la variable m par la suite
[29:58] variable m par la suite alors là
[29:59] alors là à l'aide de ce passage là le passage par
[30:03] à l'aide de ce passage là le passage par adresse ne pouvant manipuler directement
[30:06] adresse ne pouvant manipuler directement les valeurs de a et de B V via X et Y et
[30:08] les valeurs de a et de B V via X et Y et M alors pour retenir bien pour renvoyer
[30:12] M alors pour retenir bien pour renvoyer le max donc il se fait d'utiliser la
[30:14] le max donc il se fait d'utiliser la condition suivante si le contenu de la
[30:17] condition suivante si le contenu de la variable sur laquelle il point x
[30:20] variable sur laquelle il point x c'est-à-dire la valeur de a et supérieur
[30:22] c'est-à-dire la valeur de a et supérieur au contenu de la valeur sur laquelle il
[30:25] au contenu de la valeur sur laquelle il pointe y c'est-à-dire B alors là on va
[30:29] pointe y c'est-à-dire B alors là on va faire quoi on va affecter au contenu de
[30:31] faire quoi on va affecter au contenu de la valeur sur laquelle il pointe m c'est
[30:34] la valeur sur laquelle il pointe m c'est à dire max quoi on va affecter donc le
[30:38] à dire max quoi on va affecter donc le contenu de X c'est-à-dire la valeur de a
[30:40] contenu de X c'est-à-dire la valeur de a voilà elle
[30:44] on va affecter valeur de M donc le
[30:48] on va affecter valeur de M donc le contenu de la valeur sur laquelle il
[30:49] contenu de la valeur sur laquelle il pointe y c'est-à-dire la valeur de 2 B
[30:52] pointe y c'est-à-dire la valeur de 2 B voilà maintenant il faut bien sûr après
[30:55] voilà maintenant il faut bien sûr après l'appel de la fonction il faut bien sûr
[30:57] l'appel de la fonction il faut bien sûr afficher la valeur de Max alors là 30
[31:02] voilà on va afficher la valeur de Max on
[31:04] voilà on va afficher la valeur de Max on va dire que le max alors le max des deux
[31:06] va dire que le max alors le max des deux valeurs est pourcentage D et là on va
[31:08] valeurs est pourcentage D et là on va afficher
[31:09] afficher max c'est comme ça maintenant on va
[31:12] max c'est comme ça maintenant on va appeler la
[31:13] appeler la programme on a une erreur là donc on a
[31:16] programme on a une erreur là donc on a oublié d'ajouter les parenthèses donc il
[31:18] oublié d'ajouter les parenthèses donc il faut ajouter une parenthèse pour cela
[31:20] faut ajouter une parenthèse pour cela voilà donc pas de problème alors
[31:23] voilà donc pas de problème alors maintenant on va donc 6h une valeur neuf
[31:26] maintenant on va donc 6h une valeur neuf et 2 pour dénon normalement la valeur et
[31:28] et 2 pour dénon normalement la valeur et le max entre les deux C9 voilà alors
[31:31] le max entre les deux C9 voilà alors vous pouvez exécuter avec d'autres
[31:32] vous pouvez exécuter avec d'autres valeurs par exemple de 88 et voilà donc
[31:36] valeurs par exemple de 88 et voilà donc ça c'est le résultat voilà donc ça c'est
[31:39] ça c'est le résultat voilà donc ça c'est un exemple qui illustre comment utiliser
[31:41] un exemple qui illustre comment utiliser le passage par référence aux différents
[31:44] le passage par référence aux différents on dit aussi le passage par adresse dans
[31:46] on dit aussi le passage par adresse dans un programme afin de défectuer ou bien
[31:49] un programme afin de défectuer ou bien dans son cas là afin de déterminer le
[31:50] dans son cas là afin de déterminer le max entre deux valeurs maintenant nous
[31:52] max entre deux valeurs maintenant nous allons passer à la partie suivante de ce
[31:55] allons passer à la partie suivante de ce cours là après la résolution de cet
[31:57] cours là après la résolution de cet exercice nous passons
[31:58] exercice nous passons ou pointeur en relation avec les
[32:00] ou pointeur en relation avec les tableaux bien sûr il est une relation
[32:02] tableaux bien sûr il est une relation entre les deux les pointeurs et les
[32:03] entre les deux les pointeurs et les tableaux et ça ce qu'on va voir dans la
[32:05] tableaux et ça ce qu'on va voir dans la suite de cette vidéo on suppose qu'on a
[32:06] suite de cette vidéo on suppose qu'on a le tableau suivant avec 5 éléments donc
[32:09] le tableau suivant avec 5 éléments donc après la création de ce tableau là dans
[32:10] après la création de ce tableau là dans la mémoire de l'ordinateur donc nous
[32:12] la mémoire de l'ordinateur donc nous aurons des cases comme ça donc 5 cases
[32:15] aurons des cases comme ça donc 5 cases dans chaque case il y a une valeur alors
[32:18] dans chaque case il y a une valeur alors ce qu'il faut retenir donc le nom d'un
[32:21] ce qu'il faut retenir donc le nom d'un tableau donc il faut garder ça à la tête
[32:23] tableau donc il faut garder ça à la tête le nom d'un tableau représente l'adresse
[32:25] le nom d'un tableau représente l'adresse de son premier élément ça signifie quoi
[32:28] de son premier élément ça signifie quoi signifie que le nom ici le t
[32:34] si un point 2
[32:35] si un point 2 qui pointe sur
[32:38] qui pointe sur la première case du tableau par exemple
[32:41] la première case du tableau par exemple si on a les adresses suivantes alors si
[32:44] si on a les adresses suivantes alors si on essaye d'exécuter les instructions
[32:45] on essaye d'exécuter les instructions suivantes alors si on fait cette
[32:48] suivantes alors si on fait cette instruction ça signifie quoi signifie
[32:49] instruction ça signifie quoi signifie qu'on va afficher la valeur du premier
[32:51] qu'on va afficher la valeur du premier élément du tableau dans ce cas-là la
[32:53] élément du tableau dans ce cas-là la valeur du premier élément du tableau
[32:54] valeur du premier élément du tableau c'est combien c'est 3 après si on fait
[32:57] c'est combien c'est 3 après si on fait cette instruction
[32:59] cette instruction ça signifie quoi signifie qu'on va
[33:01] ça signifie quoi signifie qu'on va afficher le contenu de cette
[33:04] afficher le contenu de cette adresse mémoire de contenu de cette
[33:07] adresse mémoire de contenu de cette adresse mémoire donc on a déjà dit que
[33:08] adresse mémoire donc on a déjà dit que le nom d'un tableau il pointe sur le
[33:12] le nom d'un tableau il pointe sur le premier élément du tableau citadin le
[33:13] premier élément du tableau citadin le contenu de cette case c'est tout
[33:15] contenu de cette case c'est tout simplement s'adresse alors là nous
[33:16] simplement s'adresse alors là nous aurons la valeur quoi la valeur 1000 ici
[33:19] aurons la valeur quoi la valeur 1000 ici ou bien c'est pas une valeur mais si une
[33:21] ou bien c'est pas une valeur mais si une adresse c'est l'adresse 1000 si on met
[33:24] adresse c'est l'adresse 1000 si on met l'adresse du premier élément du tableau
[33:26] l'adresse du premier élément du tableau avec tout simplement s'adresse
[33:29] avec tout simplement s'adresse c'est-à-dire la même adresse
[33:30] c'est-à-dire la même adresse c'est-à-dire une île si on met cette
[33:33] c'est-à-dire une île si on met cette instruction ça signifie quoi signifie
[33:35] instruction ça signifie quoi signifie que tu es déjà c'est un pointeur et on
[33:37] que tu es déjà c'est un pointeur et on va afficher le contenu de la case
[33:40] va afficher le contenu de la case mémoire sur laquelle il pointait donc on
[33:43] mémoire sur laquelle il pointait donc on a dit que le poids l point toujours sur
[33:44] a dit que le poids l point toujours sur cette élément là c'est à dire le premier
[33:46] cette élément là c'est à dire le premier élément du tableau et le contenu de
[33:48] élément du tableau et le contenu de cette élément vient de cette case c'est
[33:50] cette élément vient de cette case c'est tout simplement 3 et là ça c'est le
[33:53] tout simplement 3 et là ça c'est le résultat alors ce qu'il faut retenir
[33:54] résultat alors ce qu'il faut retenir c'est que un tableau si normalement un
[33:56] c'est que un tableau si normalement un pointeur qui pointe sur le premier
[33:58] pointeur qui pointe sur le premier élément du tableau ou bien son premier
[34:00] élément du tableau ou bien son premier élément maintenant on suppose qu'on a
[34:02] élément maintenant on suppose qu'on a déclaré un pointeur p ce pointeur là
[34:05] déclaré un pointeur p ce pointeur là pointe sur le tableau alors tout
[34:07] pointe sur le tableau alors tout simplement pour exécuter ça il se fait
[34:10] simplement pour exécuter ça il se fait de mettre quoi il se fait de mettre là B
[34:13] de mettre quoi il se fait de mettre là B = t puisque tu es déjà il faut donc
[34:15] = t puisque tu es déjà il faut donc faire attention c'est un pointeur alors
[34:19] faire attention c'est un pointeur alors là il suffit de mettre T ou bien si vous
[34:21] là il suffit de mettre T ou bien si vous voulez aller plus loin vous pouvez
[34:22] voulez aller plus loin vous pouvez mettre l'adresse du premier élément du
[34:24] mettre l'adresse du premier élément du tableau c'est à dire T0 ça ce sont les
[34:26] tableau c'est à dire T0 ça ce sont les deux sont équivalents alors pour
[34:28] deux sont équivalents alors pour faciliter le tâches on utilise
[34:30] faciliter le tâches on utilise directement et automatiquement donc le P
[34:33] directement et automatiquement donc le P maintenant pointe sur le la première
[34:35] maintenant pointe sur le la première case du tableau c'est-à-dire la case
[34:37] case du tableau c'est-à-dire la case avec l'adresse 1000 voilà
[34:40] avec l'adresse 1000 voilà maintenant si on essaye d'afficher les
[34:42] maintenant si on essaye d'afficher les valeurs suivantes T0 normalement t063
[34:45] valeurs suivantes T0 normalement t063 alors l'adresse de paix c'est à dire le
[34:49] alors l'adresse de paix c'est à dire le contenu de la case sur laquelle il
[34:51] contenu de la case sur laquelle il pointe PC 3 voilà donc c'est ça le
[34:55] pointe PC 3 voilà donc c'est ça le résultat alors maintenant si on essaye
[34:57] résultat alors maintenant si on essaye d'exécuter quelques opérations comme par
[35:01] d'exécuter quelques opérations comme par exemple l'incrémentation alors p++
[35:03] exemple l'incrémentation alors p++ c'est-à-dire que au lieu de pointer sur
[35:06] c'est-à-dire que au lieu de pointer sur cette case donc ça c'est l'équivalent on
[35:08] cette case donc ça c'est l'équivalent on va pointer sur cette case là voilà donc
[35:11] va pointer sur cette case là voilà donc c'est ça le résultat alors le contenu
[35:13] c'est ça le résultat alors le contenu normalement du pointeur là c'est 14
[35:17] normalement du pointeur là c'est 14 c'est-à-dire l'adresse de cette case là
[35:19] c'est-à-dire l'adresse de cette case là ou bien cet élément du tableau et si on
[35:22] ou bien cet élément du tableau et si on essaye d'afficher les valeurs maintenant
[35:25] essaye d'afficher les valeurs maintenant donc le contenu de la variable sur
[35:27] donc le contenu de la variable sur laquelle il pointe P vient la case sur
[35:29] laquelle il pointe P vient la case sur le kilote P c'est normalement dans ce
[35:31] le kilote P c'est normalement dans ce cas là -6 puisque on a changé
[35:34] cas là -6 puisque on a changé donc l'espace sur laquelle il pointe P
[35:37] donc l'espace sur laquelle il pointe P et si on
[35:40] et si on discute cette instruction ça signifie
[35:41] discute cette instruction ça signifie quoi signifie que au lieu de pointer sur
[35:45] quoi signifie que au lieu de pointer sur cette case on va ou bien le pointeur va
[35:48] cette case on va ou bien le pointeur va pointer cette fois sur cette case là
[35:51] pointer cette fois sur cette case là c'est à dire l'adresse
[35:53] c'est à dire l'adresse mails et lorsqu'on par exemple on
[35:57] mails et lorsqu'on par exemple on affiche le contenu de la case sur
[36:00] affiche le contenu de la case sur laquelle il pointe P nous aurons bien
[36:02] laquelle il pointe P nous aurons bien sûr la valeur 24 pour bien comprendre ce
[36:05] sûr la valeur 24 pour bien comprendre ce que nous avons vu donc essaye toujours
[36:06] que nous avons vu donc essaye toujours de refaire ça avec code block et
[36:08] de refaire ça avec code block et exécuter pour voir les résultats pour
[36:10] exécuter pour voir les résultats pour résumer tout ce que nous avons vu
[36:11] résumer tout ce que nous avons vu jusqu'à maintenant normalement tu sais
[36:13] jusqu'à maintenant normalement tu sais quoi c'est un pointeur qui pointe sur T0
[36:16] quoi c'est un pointeur qui pointe sur T0 alors tu es normalement c'est un
[36:18] alors tu es normalement c'est un pointeur qui contient l'adresse de la
[36:20] pointeur qui contient l'adresse de la variable ou bien de l'élément T0 du
[36:22] variable ou bien de l'élément T0 du tableau si on mettait plus un alors le
[36:26] tableau si on mettait plus un alors le pointeur T ou bien la valeur ou bien
[36:28] pointeur T ou bien la valeur ou bien l'élément sur lequel il pointait sera
[36:30] l'élément sur lequel il pointait sera changé et maintenant il pointe sur
[36:33] changé et maintenant il pointe sur l'élément ti alors si on met entre deux
[36:38] l'élément ti alors si on met entre deux parenthèses 10 + i donc voilà signifie
[36:41] parenthèses 10 + i donc voilà signifie que on est en train de manipuler ou bien
[36:43] que on est en train de manipuler ou bien d'utiliser la valeur de la case sur
[36:45] d'utiliser la valeur de la case sur laquelle il pointe t alors là entre deux
[36:48] laquelle il pointe t alors là entre deux parenthèses étoiles + 1 signifie le
[36:50] parenthèses étoiles + 1 signifie le contenu de TI équivalent de tout ça avec
[36:52] contenu de TI équivalent de tout ça avec P donc CP donc il pointe sur normalement
[36:54] P donc CP donc il pointe sur normalement dans ce cas-là il pointe sur
[37:00] les deux pointes sur T01 il va pointer
[37:03] les deux pointes sur T01 il va pointer sur le ti donc c'est l'équivalent de T
[37:06] sur le ti donc c'est l'équivalent de T plus I et si vous voulez accéder à la
[37:10] plus I et si vous voulez accéder à la valeur via le contenu d'une case il faut
[37:11] valeur via le contenu d'une case il faut bien sûr ajouter l'étoile juste devant P
[37:14] bien sûr ajouter l'étoile juste devant P et là il faut mettre le donc tout ça
[37:17] et là il faut mettre le donc tout ça entre deux parenthèses plus plus i pour
[37:19] entre deux parenthèses plus plus i pour accéder par exemple à cette case là il
[37:21] accéder par exemple à cette case là il faut faire attention donc l'étoile et
[37:23] faut faire attention donc l'étoile et entre les deux parenthèses plus plus i
[37:26] entre les deux parenthèses plus plus i alors on va essayer de tester tout ça
[37:27] alors on va essayer de tester tout ça donc lorsqu'on met par exemple là étoile
[37:30] donc lorsqu'on met par exemple là étoile entre deux parenthèses 10 + 1 et on
[37:33] entre deux parenthèses 10 + 1 et on affecte cette case là la valeur 2 ça
[37:36] affecte cette case là la valeur 2 ça c'est l'équivalent de quoi
[37:40] 1 2 et là après l'exécution de cette
[37:42] 1 2 et là après l'exécution de cette instruction nous aurons dans cette case
[37:46] instruction nous aurons dans cette case là la valeur 2 lorsqu'on passe à cette
[37:49] là la valeur 2 lorsqu'on passe à cette instruction signifie que lui de pointer
[37:51] instruction signifie que lui de pointer sur le premier élément du tableau donc
[37:53] sur le premier élément du tableau donc le pointeur P va pointer sur l'élément 1
[37:55] le pointeur P va pointer sur l'élément 1 du tableau ou bien avec l'indice 1 du
[37:58] du tableau ou bien avec l'indice 1 du tableau après l'instruction suivante
[37:59] tableau après l'instruction suivante donc t+3 signifie que on va changer donc
[38:04] donc t+3 signifie que on va changer donc la case sur laquelle il pointait donc au
[38:06] la case sur laquelle il pointait donc au lieu de pointer sur 0 il va pointer sur
[38:08] lieu de pointer sur 0 il va pointer sur T3 et là on va affecter T3 la valeur 4
[38:11] T3 et là on va affecter T3 la valeur 4 alors après l'exécution de satisfaction
[38:13] alors après l'exécution de satisfaction nous aurons cette valeur ici normalement
[38:15] nous aurons cette valeur ici normalement p comme on a déjà fait avec cette
[38:18] p comme on a déjà fait avec cette instruction il pense sur cette
[38:20] instruction il pense sur cette instruction là ou bien cette case là
[38:21] instruction là ou bien cette case là alors cette case là va contenir quoi
[38:25] alors cette case là va contenir quoi la valeur donc si la valeur initiale de
[38:27] la valeur donc si la valeur initiale de cette case
[38:28] cette case avec deux plus la valeur 5 alors la
[38:33] avec deux plus la valeur 5 alors la nouvelle valeur de cette case là c'est
[38:35] nouvelle valeur de cette case là c'est normalement 7 voilà et
[38:39] normalement 7 voilà et lorsqu'on exécute cette instruction
[38:41] lorsqu'on exécute cette instruction Terre reçoit P + 2 ça signifie quoi donc
[38:44] Terre reçoit P + 2 ça signifie quoi donc il faut faire toujours attention puisque
[38:45] il faut faire toujours attention puisque lorsqu'on utilise l'étoile ça signifie
[38:47] lorsqu'on utilise l'étoile ça signifie le contenu de la de l'élément on vient
[38:49] le contenu de la de l'élément on vient de la casse lorsqu'on utilise
[38:51] de la casse lorsqu'on utilise directement P ça signifie la casse donc
[38:54] directement P ça signifie la casse donc au lieu de pointer sur cette case
[38:56] au lieu de pointer sur cette case maintenant dès votre
[38:59] maintenant dès votre thé normalement ou bien la case numéro 4
[39:02] thé normalement ou bien la case numéro 4 ou bien la case numéro 3 dans ce tableau
[39:04] ou bien la case numéro 3 dans ce tableau là avec la valeur 4 voilà alors pour
[39:08] là avec la valeur 4 voilà alors pour résumer tout ça donc le nom d'un tableau
[39:10] résumer tout ça donc le nom d'un tableau représente l'adresse de son premier
[39:12] représente l'adresse de son premier élément donc ça c'est une chose à
[39:14] élément donc ça c'est une chose à retenir après si tu es un tableau il y
[39:17] retenir après si tu es un tableau il y représente l'indice qu'on utilise pour
[39:19] représente l'indice qu'on utilise pour ces éléments alors donc on a vu déjà ça
[39:22] ces éléments alors donc on a vu déjà ça donc tu es design quoi l'adresse de
[39:24] donc tu es design quoi l'adresse de l'élément T0 donc t plus i désigne
[39:27] l'élément T0 donc t plus i désigne l'adresse de l'Union ti c'est comme un
[39:29] l'adresse de l'Union ti c'est comme un pointeur qui pointe sur l'élémenti si on
[39:31] pointeur qui pointe sur l'élémenti si on veut accéder à un élément donc il faut
[39:34] veut accéder à un élément donc il faut la ajouter entre deux parenthèses 10 + i
[39:37] la ajouter entre deux parenthèses 10 + i pour accéder au contenu par exemple de
[39:40] pour accéder au contenu par exemple de la case ti si on veut travailler avec le
[39:42] la case ti si on veut travailler avec le contenu il faut ajouter les toiles et
[39:44] contenu il faut ajouter les toiles et l'équivalent de tout ça avec un pointeur
[39:46] l'équivalent de tout ça avec un pointeur P si on fait cette affectation c'est que
[39:49] P si on fait cette affectation c'est que P point sur l'élément T0 du tableau puis
[39:53] P point sur l'élément T0 du tableau puis plus i point sur l'élément i ici on veut
[39:56] plus i point sur l'élément i ici on veut renvoyer ou bien utiliser le contenu
[39:58] renvoyer ou bien utiliser le contenu d'un élément il faut ajouter l'étoile
[40:00] d'un élément il faut ajouter l'étoile entre deux parenthèses le P + I et comme
[40:03] entre deux parenthèses le P + I et comme ça vous pouvez manipuler les éléments
[40:06] ça vous pouvez manipuler les éléments d'un tableau voilà maintenant vous
[40:09] d'un tableau voilà maintenant vous pouvez déduire clairement que un tableau
[40:12] pouvez déduire clairement que un tableau c'est un pointeur qui pointe sur son
[40:14] c'est un pointeur qui pointe sur son premier élément maintenant nous allons
[40:16] premier élément maintenant nous allons passer à la dernière partie de cette
[40:18] passer à la dernière partie de cette vidéo la rythmétique dit pointeur
[40:20] vidéo la rythmétique dit pointeur c'est-à-dire l'application des
[40:21] c'est-à-dire l'application des opérateurs tel que l'addition la
[40:23] opérateurs tel que l'addition la soustraction sur un pointeur alors avant
[40:25] soustraction sur un pointeur alors avant de d'aborder chacune de ces opérations
[40:28] de d'aborder chacune de ces opérations on commence avec la fonction size of
[40:30] on commence avec la fonction size of donc c'est une fonction très importante
[40:32] donc c'est une fonction très importante lorsqu'on utilise les points d'or on va
[40:34] lorsqu'on utilise les points d'or on va voir l'objectif de cette fonction alors
[40:36] voir l'objectif de cette fonction alors on suppose déjà qu'on a un tableau avec
[40:38] on suppose déjà qu'on a un tableau avec cinq éléments donc ça ce sont les
[40:39] cinq éléments donc ça ce sont les éléments de ce tableau là ça ce sont les
[40:41] éléments de ce tableau là ça ce sont les adresses et ça c'est le pointeur qui
[40:43] adresses et ça c'est le pointeur qui pointe sur la première case de ce
[40:45] pointe sur la première case de ce tableau là alors qu'est-ce que la
[40:47] tableau là alors qu'est-ce que la fonction 16 off donc ça off c'est une
[40:49] fonction 16 off donc ça off c'est une fonction qui permet de renvoyer la
[40:52] fonction qui permet de renvoyer la taille en octobre d'un type de données
[40:54] taille en octobre d'un type de données ou bien d'une variable alors si vous
[40:57] ou bien d'une variable alors si vous mettez par exemple
[40:58] mettez par exemple la chose suivante pourcentage d donc
[41:01] la chose suivante pourcentage d donc normalement c'est une valeur entière
[41:03] normalement c'est une valeur entière qu'on va afficher size entre deux
[41:06] qu'on va afficher size entre deux parenthèses de l'élément zéro du tableau
[41:08] parenthèses de l'élément zéro du tableau T0 c'est-à-dire on va chercher l'espace
[41:10] T0 c'est-à-dire on va chercher l'espace mémoire de cette case cet espace mémoire
[41:13] mémoire de cette case cet espace mémoire cette case et 16 off va calculer la
[41:17] cette case et 16 off va calculer la taille réservée dans la mémoire pour
[41:19] taille réservée dans la mémoire pour cette case normalement pour les nombres
[41:21] cette case normalement pour les nombres entiers chaque case représente 4 est
[41:25] entiers chaque case représente 4 est représenté sur 4
[41:28] on va renvoyer 4 si vous testez ça si
[41:32] on va renvoyer 4 si vous testez ça si vous affichez donc size of double ou
[41:35] vous affichez donc size of double ou bien si vous avez un tableau de type
[41:37] bien si vous avez un tableau de type double en mémoire oui octets maintenant
[41:41] double en mémoire oui octets maintenant je reviens aux opérateurs arithmétique
[41:43] je reviens aux opérateurs arithmétique et on commence avec l'incrémentation
[41:45] et on commence avec l'incrémentation alors la règle c'est que lorsque vous
[41:48] alors la règle c'est que lorsque vous mettez pour un pointeur p++ ça c'est
[41:51] mettez pour un pointeur p++ ça c'est toujours les pointures avec les tableaux
[41:54] toujours les pointures avec les tableaux il faut faire attention puisque le
[41:55] il faut faire attention puisque le pointeur P point sur terre au lieu de
[41:58] pointeur P point sur terre au lieu de pointer sur cette case on va ajouter un
[42:00] pointer sur cette case on va ajouter un à cette case ou bien cette case par
[42:02] à cette case ou bien cette case par exemple passer ici ou bien si les
[42:05] exemple passer ici ou bien si les pointeur pointe Ici vous mettez plus
[42:06] pointeur pointe Ici vous mettez plus plus il passera à cette case là voilà
[42:09] plus il passera à cette case là voilà donc on va donner un exemple le p++
[42:12] donc on va donner un exemple le p++ alors là automatiquement le P maintenant
[42:15] alors là automatiquement le P maintenant pointe sur la deuxième case et si vous
[42:17] pointe sur la deuxième case et si vous affichez le contenu de paix c'est à dire
[42:20] affichez le contenu de paix c'est à dire la valeur de la casse sur laquelle une
[42:22] la valeur de la casse sur laquelle une pointe P dans son cas là c'est moins 6
[42:25] pointe P dans son cas là c'est moins 6 alors là il faut faire attention
[42:26] alors là il faut faire attention lorsqu'on met entre deux parenthèses
[42:28] lorsqu'on met entre deux parenthèses puis plus plus ça signifie quoi signifie
[42:30] puis plus plus ça signifie quoi signifie que au lieu de pointu sur cette case
[42:34] que au lieu de pointu sur cette case P va pointer
[42:36] P va pointer cette case là c'est à dire la case avec
[42:39] cette case là c'est à dire la case avec la valeur 14 mais ça c'est après c'est à
[42:42] la valeur 14 mais ça c'est après c'est à dire après l'afficheur donc l'affichage
[42:44] dire après l'afficheur donc l'affichage on va afficher d'abord la case sur
[42:46] on va afficher d'abord la case sur laquée une pointe initialement
[42:48] laquée une pointe initialement c'est-à-dire moi 6 et après l'exécution
[42:52] c'est-à-dire moi 6 et après l'exécution de cet instruction
[42:54] de cet instruction dépassera à cette case là comme
[42:57] dépassera à cette case là comme case sur laquelle il pointe et si vous
[43:00] case sur laquelle il pointe et si vous affichez par la suite prendre F entre
[43:02] affichez par la suite prendre F entre deux parenthèses étoiles P vous allez
[43:05] deux parenthèses étoiles P vous allez avoir la valeur 14 maintenant nous
[43:07] avoir la valeur 14 maintenant nous passons à la dix incrémentation donc si
[43:10] passons à la dix incrémentation donc si vous avez un pointeur qui pointe sur
[43:12] vous avez un pointeur qui pointe sur cette case et vous mettez deux mois
[43:15] cette case et vous mettez deux mois c'est-à-dire que au lieu de pointer sur
[43:16] c'est-à-dire que au lieu de pointer sur cette case et voir pointu sur la case
[43:18] cette case et voir pointu sur la case précédente comme ça voilà donc on va
[43:22] précédente comme ça voilà donc on va donner un exemple on suppose qu'on a
[43:24] donner un exemple on suppose qu'on a exécuté cette instruction puis moi
[43:26] exécuté cette instruction puis moi voilà on a maintenant le P point sur -6
[43:30] voilà on a maintenant le P point sur -6 ici vous nous affichons la valeur
[43:31] ici vous nous affichons la valeur suivante le contenu de P nous aurons la
[43:35] suivante le contenu de P nous aurons la valeur moins 6 maintenant nous passons à
[43:38] valeur moins 6 maintenant nous passons à l'opérateur de l'addition alors
[43:41] l'opérateur de l'addition alors qu'est-ce que signifie l'addition ou
[43:44] qu'est-ce que signifie l'addition ou bien si vous affectez à paix b+3 ça
[43:47] bien si vous affectez à paix b+3 ça signifie quoi signifie que au lieu de
[43:50] signifie quoi signifie que au lieu de pointer par exemple sur cette case la
[43:52] pointer par exemple sur cette case la première case du tableau vous allez
[43:55] première case du tableau vous allez passer à la troisième car c'est à dire
[43:56] passer à la troisième car c'est à dire cette case ici donc c'est ça
[43:59] cette case ici donc c'est ça l'équivalent de l'addition pour les
[44:03] l'équivalent de l'addition pour les pointeurs qui pointent sur des tableaux
[44:04] pointeurs qui pointent sur des tableaux alors vous allez me dire que c'est bon
[44:09] 1000 + 3 c'est normalement 1003
[44:15] 1000 + 3 c'est normalement 1003 et ça c'est différent de
[44:19] 102
[44:21] 102 alors vous pouvez avoir cette remarque
[44:23] alors vous pouvez avoir cette remarque là mais la réalité il a suivi lorsque
[44:26] là mais la réalité il a suivi lorsque vous mettez ou bien vous ajoutez 3 à un
[44:31] vous mettez ou bien vous ajoutez 3 à un pointeur qui pointe sur un tableau ça
[44:33] pointeur qui pointe sur un tableau ça signifie quoi signifie que vous allez
[44:35] signifie quoi signifie que vous allez avoir déjà la valeur t plus 3 fois 16
[44:42] off le type de la case
[44:45] off le type de la case normalement ou bien des cas sur laquelle
[44:48] normalement ou bien des cas sur laquelle une pointe P normalement ce sont des
[44:50] une pointe P normalement ce sont des cases de type entier et une case de type
[44:52] cases de type entier et une case de type entier a toujours la valeur 4 alors là
[44:55] entier a toujours la valeur 4 alors là lorsque vous mettez plus 3 ça signifie
[44:57] lorsque vous mettez plus 3 ça signifie trois fois
[45:01] c'est-à-dire 12 il a automatiquement
[45:04] c'est-à-dire 12 il a automatiquement vous aurez la valeur 112 donc c'est ça
[45:07] vous aurez la valeur 112 donc c'est ça la réalité et pour cette raison là au
[45:09] la réalité et pour cette raison là au lieu de pointer sur 1000 nous allons
[45:10] lieu de pointer sur 1000 nous allons pointer sur la case 100012 et nous
[45:14] pointer sur la case 100012 et nous aurons la troisième case du tableau
[45:15] aurons la troisième case du tableau voilà après donc on va essayer
[45:18] voilà après donc on va essayer maintenant de donner les résultats après
[45:19] maintenant de donner les résultats après ces deux instructions alors là une chose
[45:21] ces deux instructions alors là une chose que j'ai déjà oublié donc mentionner au
[45:24] que j'ai déjà oublié donc mentionner au départ si vous voulez afficher
[45:26] départ si vous voulez afficher l'adresse d'une valeur il faut mettre
[45:29] l'adresse d'une valeur il faut mettre des pourcentage ou bien l'indicateur
[45:32] des pourcentage ou bien l'indicateur ok donc ça signifie quoi signifie qu'on
[45:35] ok donc ça signifie quoi signifie qu'on est en train d'afficher l'adresse
[45:37] est en train d'afficher l'adresse mémoire d'une variable si vous voulez
[45:40] mémoire d'une variable si vous voulez afficher le contenu d'une case il faut
[45:43] afficher le contenu d'une case il faut mettre l'adresse de d voilà donc là p+3
[45:48] mettre l'adresse de d voilà donc là p+3 donc ça signifie qu'on va afficher
[45:50] donc ça signifie qu'on va afficher l'adresse de donc cette case là c'est P
[45:52] l'adresse de donc cette case là c'est P +3 c'est-à-dire
[45:54] +3 c'est-à-dire 1012 donc vous aurez 12 ans à l'écran si
[45:58] 1012 donc vous aurez 12 ans à l'écran si vous mettez donc ét entre deux
[46:00] vous mettez donc ét entre deux parenthèses p+3 ça signifie qu'on va
[46:02] parenthèses p+3 ça signifie qu'on va afficher le contenu de cette case
[46:04] afficher le contenu de cette case c'est-à-dire dans ce cas là valeur 8
[46:07] c'est-à-dire dans ce cas là valeur 8 voilà donc facile donc l'addition
[46:11] voilà donc facile donc l'addition maintenant nous allons passer à la
[46:12] maintenant nous allons passer à la soustraction alors il faut sachez que on
[46:14] soustraction alors il faut sachez que on peut exécuter la soustraction au niveau
[46:17] peut exécuter la soustraction au niveau du pointeur soit entre un pointeur et
[46:20] du pointeur soit entre un pointeur et une valeur ou bien entre deux pointes
[46:22] une valeur ou bien entre deux pointes alors lorsqu'on commence avec une valeur
[46:25] alors lorsqu'on commence avec une valeur q - 2 par exemple ça signifie que au
[46:27] q - 2 par exemple ça signifie que au lieu que ce pointeur pointe sur cette
[46:29] lieu que ce pointeur pointe sur cette case il va pointer sur cette case q - 2
[46:32] case il va pointer sur cette case q - 2 x 16 off donc là
[46:36] x 16 off donc là c'est 4 4 x 2,8 alors
[46:40] c'est 4 4 x 2,8 alors 112 - 8 ce qui va donner 1004 alors au
[46:45] 112 - 8 ce qui va donner 1004 alors au lieu de pointer sur cette case le
[46:47] lieu de pointer sur cette case le pointeur
[46:48] pointeur Q va pointer sur cette case là alors
[46:50] Q va pointer sur cette case là alors pour faire tout ça donc ça ce sont les
[46:52] pour faire tout ça donc ça ce sont les instructions pour créer ce pointeur là
[46:54] instructions pour créer ce pointeur là qui pointe sur cette case là la case
[46:57] qui pointe sur cette case là la case troisième case ou bien la quatrième case
[46:59] troisième case ou bien la quatrième case du tableau voilà donc maintenant on a ce
[47:02] du tableau voilà donc maintenant on a ce pointeur qui pointe sur cette case donc
[47:04] pointeur qui pointe sur cette case donc là c'est la case initiale
[47:07] là c'est la case initiale alors lorsqu'on met
[47:09] alors lorsqu'on met Q-2 signifie que au lieu de pointer sur
[47:11] Q-2 signifie que au lieu de pointer sur cette case on va pointer sur cette case
[47:13] cette case on va pointer sur cette case là et comme déjà mentionné pour afficher
[47:16] là et comme déjà mentionné pour afficher l'adresse d'une case on met le
[47:18] l'adresse d'une case on met le pourcentage P et là on a
[47:21] pourcentage P et là on a q - 2 ce que nous venons dans les mots
[47:22] q - 2 ce que nous venons dans les mots dans ce cas-là 1000 4 alors là lorsqu'on
[47:26] dans ce cas-là 1000 4 alors là lorsqu'on met entre deux parenthèses et là on met
[47:29] met entre deux parenthèses et là on met l'étoile signifie qu'on va afficher le
[47:31] l'étoile signifie qu'on va afficher le contenu de cette casse c'est-à-dire -6
[47:33] contenu de cette casse c'est-à-dire -6 dans ce cas là alors maintenant nous
[47:35] dans ce cas là alors maintenant nous passons à la soustraction entre deux
[47:36] passons à la soustraction entre deux pointeurs lorsque vous avez deux
[47:38] pointeurs lorsque vous avez deux pointeurs et vous mettez la soustraction
[47:40] pointeurs et vous mettez la soustraction signifie quoi signifie la distance entre
[47:42] signifie quoi signifie la distance entre les deux par exemple dans ce cas là on a
[47:44] les deux par exemple dans ce cas là on a des sens entre p et
[47:46] des sens entre p et q alors ce qui se passe en réalité c'est
[47:48] q alors ce qui se passe en réalité c'est que lorsque vous ustrer du pointeur p2q
[47:51] que lorsque vous ustrer du pointeur p2q on va prendre l'adresse sur laquelle il
[47:54] on va prendre l'adresse sur laquelle il pointe
[47:55] pointe Q par exemple dans son cas là c'est 112
[47:57] Q par exemple dans son cas là c'est 112 moi l'adresse sur laquelle une pointe P
[48:00] moi l'adresse sur laquelle une pointe P dans ce cas-là 6000 et on va diviser
[48:02] dans ce cas-là 6000 et on va diviser tout ça sur la taille de chaque case de
[48:06] tout ça sur la taille de chaque case de ce tableau là dans ce cas là chaque case
[48:08] ce tableau là dans ce cas là chaque case prendra 4
[48:10] prendra 4 4 octets puisque on a des éléments de
[48:14] 4 octets puisque on a des éléments de type entier et lorsque vous effectuez
[48:17] type entier et lorsque vous effectuez cette opération là vous allez trouver
[48:19] cette opération là vous allez trouver trois ou bien avec un autre mot donc
[48:22] trois ou bien avec un autre mot donc lorsque vous mettez km - P signifie la
[48:25] lorsque vous mettez km - P signifie la distance entre les deux donc là la
[48:28] distance entre les deux donc là la distance entre trois et 0C normalement 3
[48:30] distance entre trois et 0C normalement 3 et vous aurez normalement 3 lorsque vous
[48:32] et vous aurez normalement 3 lorsque vous affichez cette valeur donc là
[48:34] affichez cette valeur donc là pourcentage des q- moi P ce qui va vous
[48:37] pourcentage des q- moi P ce qui va vous afficher 3 lorsque vous inversez les
[48:40] afficher 3 lorsque vous inversez les choses donc zéro moi 3 signifie par
[48:43] choses donc zéro moi 3 signifie par exemple dans le deuxième exemple moi 3
[48:45] exemple dans le deuxième exemple moi 3 voilà donc ça ce qui concerne la
[48:48] voilà donc ça ce qui concerne la soustraction puisqu'on peut effectuer la
[48:50] soustraction puisqu'on peut effectuer la soustraction nous pouvons également
[48:51] soustraction nous pouvons également effectuer la comparaison alors la
[48:54] effectuer la comparaison alors la comparaison de deux pointeurs qui pointe
[48:56] comparaison de deux pointeurs qui pointe normalement les deux pointeurs doivent
[48:58] normalement les deux pointeurs doivent pointer sur le même table alors
[49:00] pointer sur le même table alors l'équivalent de quoi c'est l'équivalent
[49:02] l'équivalent de quoi c'est l'équivalent à la comparaison des indices
[49:04] à la comparaison des indices correspondants par exemple si vous
[49:06] correspondants par exemple si vous voulez comparer
[49:08] voulez comparer Q avec P c'est comme vous êtes en train
[49:10] Q avec P c'est comme vous êtes en train de comparer 3
[49:11] de comparer 3 alors par exemple si vos exécutez les
[49:16] alors par exemple si vos exécutez les instructions suivantes donc l'adresse de
[49:19] instructions suivantes donc l'adresse de Q = P est-ce que Q = P non alors donc le
[49:23] Q = P est-ce que Q = P non alors donc le résultat c'est 0 ou bien folle si par
[49:26] résultat c'est 0 ou bien folle si par exemple vos comparez q Est-ce que Q donc
[49:29] exemple vos comparez q Est-ce que Q donc 3 supérieur à 0,8 alors vous aurez donc
[49:32] 3 supérieur à 0,8 alors vous aurez donc un ou bien tout au niveau de l'écran de
[49:34] un ou bien tout au niveau de l'écran de l'ordinateur si vous affichez cette
[49:36] l'ordinateur si vous affichez cette valeur voilà donc ça ce qui concerne la
[49:38] valeur voilà donc ça ce qui concerne la dernière opération
[49:39] dernière opération arithmétique sur les pointeurs alors
[49:42] arithmétique sur les pointeurs alors pour bien comprendre la relation entre
[49:44] pour bien comprendre la relation entre les pointeurs et les tableaux on va
[49:45] les pointeurs et les tableaux on va travailler sur l'exercice 3 alors voilà
[49:48] travailler sur l'exercice 3 alors voilà donc on a ici un pointeur P qui pointe
[49:51] donc on a ici un pointeur P qui pointe sur le tableau a donc ça c'est donc les
[49:54] sur le tableau a donc ça c'est donc les éléments du tableau A et ça c'est le
[49:56] éléments du tableau A et ça c'est le pointeur qui pointe sur a alors votre
[49:59] pointeur qui pointe sur a alors votre tâche maintenant donc essayez de faire
[50:01] tâche maintenant donc essayez de faire pause à la vidéo essayer de donner les
[50:03] pause à la vidéo essayer de donner les résultats après chaque instruction alors
[50:06] résultats après chaque instruction alors on commence on va donner la solution de
[50:08] on commence on va donner la solution de cet exercice alors lorsqu'on déc le
[50:11] cet exercice alors lorsqu'on déc le tableau a donc et après le pointeur P
[50:14] tableau a donc et après le pointeur P alors P mon pointe dans ce cas là sur le
[50:18] alors P mon pointe dans ce cas là sur le premier élément du tableau A
[50:19] premier élément du tableau A c'est-à-dire l'adresse de la case 0 ou
[50:24] c'est-à-dire l'adresse de la case 0 ou bien tout simplement pour faciliter les
[50:25] bien tout simplement pour faciliter les choses on met l'adresse du 12 c'est à
[50:27] choses on met l'adresse du 12 c'est à dire ça s'adresse là ou alors on va
[50:29] dire ça s'adresse là ou alors on va exécuter la première instruction là on
[50:31] exécuter la première instruction là on est en train d'incrémenter
[50:33] est en train d'incrémenter c'est à dire au lieu de pointu sur cette
[50:36] c'est à dire au lieu de pointu sur cette case on voit pointer maintenant sur la
[50:37] case on voit pointer maintenant sur la deuxième case c'est à dire l'adresse de
[50:39] deuxième case c'est à dire l'adresse de la deuxième case ou bien l'adresse de la
[50:40] la deuxième case ou bien l'adresse de la case qui contient la valeur 23 on passe
[50:44] case qui contient la valeur 23 on passe maintenant à cette instruction alors là
[50:46] maintenant à cette instruction alors là déjà le pointeur pointe sur cette case
[50:49] déjà le pointeur pointe sur cette case alors on va
[50:51] alors on va passer à cette case là
[50:54] passer à cette case là OK et on va donc puisque 1 + 3 c'est 4
[50:58] OK et on va donc puisque 1 + 3 c'est 4 et on va afficher le contenu de cette
[50:59] et on va afficher le contenu de cette case et la automatiquement nous aurons
[51:02] case et la automatiquement nous aurons 50 6 maintenant à cet instruction alors
[51:06] 50 6 maintenant à cet instruction alors pointe sur l'adresse de 23
[51:10] pointe sur l'adresse de 23 et on va soustraire de 23 l'adresse de
[51:13] et on va soustraire de 23 l'adresse de la case à 4 c'est-à-dire cette case là
[51:16] la case à 4 c'est-à-dire cette case là c'est comme on est en train d'effectuer
[51:19] c'est comme on est en train d'effectuer la soustraction entre deux pointeur le
[51:22] la soustraction entre deux pointeur le pointeur
[51:25] dans ce cas là 4
[51:29] dans ce cas là 4 donc l'adresse de A4 et l'adresse de
[51:34] A1 donc comme on a déjà vu c'est la
[51:36] A1 donc comme on a déjà vu c'est la distance entre les deux sites
[51:37] distance entre les deux sites c'est-à-dire dans ce cas-là 1 - 4 six
[51:39] c'est-à-dire dans ce cas-là 1 - 4 six mois 3 voilà maintenant moi - P signifie
[51:43] mois 3 voilà maintenant moi - P signifie que on va descrémenter P donc P pointent
[51:47] que on va descrémenter P donc P pointent normalement sur l'adresse de 12 après on
[51:49] normalement sur l'adresse de 12 après on va ajouter à A6 ça signifie quoi
[51:52] va ajouter à A6 ça signifie quoi signifie que a au lieu de pointer sur la
[51:56] signifie que a au lieu de pointer sur la case 0 il va pointer maintenant sur la
[52:00] case 0 il va pointer maintenant sur la case
[52:01] case 6 du tableau c'est à dire l'adresse de
[52:04] 6 du tableau c'est à dire l'adresse de 78 maintenant on va exécuter
[52:07] 78 maintenant on va exécuter l'instruction suivante on a ici une
[52:09] l'instruction suivante on a ici une opération d'addition on va prendre
[52:11] opération d'addition on va prendre l'adresse ou bien la valeur de a on va
[52:14] l'adresse ou bien la valeur de a on va prendre d'abord la valeur de A7 donc A7
[52:17] prendre d'abord la valeur de A7 donc A7 c'est-à-dire
[52:19] c'est-à-dire 80 9 donc là -
[52:23] 80 9 donc là - P + 8 donc pile sur 0 + 8 c'est-à-dire
[52:26] P + 8 donc pile sur 0 + 8 c'est-à-dire la dernière case 80 10 alors le contenu
[52:30] la dernière case 80 10 alors le contenu de cette case c'est puisque on a
[52:32] de cette case c'est puisque on a l'opérateur
[52:33] l'opérateur étoile c'est 90 après 200 + quoi il faut
[52:38] étoile c'est 90 après 200 + quoi il faut faire attention P c'est à dire l'adresse
[52:40] faire attention P c'est à dire l'adresse de
[52:41] de cette case c'est à dire la case avec la
[52:44] cette case c'est à dire la case avec la valeur 12 il faut faire attention
[52:46] valeur 12 il faut faire attention alors on a hypnose ici on a plus 1 donc
[52:50] alors on a hypnose ici on a plus 1 donc 90 - 80 9 c'est 1 + l'adresse de la
[52:55] 90 - 80 9 c'est 1 + l'adresse de la première case du tableau
[52:58] ou bien avec notre expression donc
[53:00] ou bien avec notre expression donc l'adresse de plus 1 alors ici au lieu de
[53:04] l'adresse de plus 1 alors ici au lieu de pointu sur cette case le pointeur P va
[53:07] pointu sur cette case le pointeur P va pointer sur cette case et le contenu de
[53:10] pointer sur cette case et le contenu de cette cassé 203 voilà donc il faut faire
[53:12] cette cassé 203 voilà donc il faut faire attention toujours on va passer
[53:14] attention toujours on va passer maintenant à une comparaison de égale
[53:17] maintenant à une comparaison de égale c'est-à-dire la comparaison est-ce que P
[53:19] c'est-à-dire la comparaison est-ce que P donc P déjà une pointe sur cette case
[53:24] donc P déjà une pointe sur cette case là lorsqu'on fait la comparaison donc on
[53:28] là lorsqu'on fait la comparaison donc on compare les indices alors est-ce que 0 =
[53:30] compare les indices alors est-ce que 0 = l'adresse de ou bien la référent ou bien
[53:34] l'adresse de ou bien la référent ou bien l'indice de la case A4 à 4 c'est-à-dire
[53:36] l'indice de la case A4 à 4 c'est-à-dire 7 case là est-ce que 0 = 4 non alors le
[53:40] 7 case là est-ce que 0 = 4 non alors le résultat c'est zéro zéro bien phase
[53:42] résultat c'est zéro zéro bien phase après P c'est normalement dans ce cas là
[53:47] après P c'est normalement dans ce cas là il pointe sur 0
[53:50] il pointe sur 0 donc la case avec l'indice 0 est déjà a
[53:55] donc la case avec l'indice 0 est déjà a c'est aussi un pointeur et quand on a
[53:57] c'est aussi un pointeur et quand on a déjà expliqué un pointeur qui pointe sur
[53:59] déjà expliqué un pointeur qui pointe sur la première case du tableau c'est à dire
[54:01] la première case du tableau c'est à dire 0 est-ce que vous avez reçu pour égal à
[54:03] 0 est-ce que vous avez reçu pour égal à 0,8 alors le résultat c'est un dans ce
[54:05] 0,8 alors le résultat c'est un dans ce cas là alors pour bien toujours tester
[54:08] cas là alors pour bien toujours tester tout cela donc on va essayer de faire
[54:09] tout cela donc on va essayer de faire les mêmes instructions sur code blocks
[54:11] les mêmes instructions sur code blocks alors voilà donc ça c'est normalement le
[54:14] alors voilà donc ça c'est normalement le tableau donc a avec ces éléments là donc
[54:17] tableau donc a avec ces éléments là donc ça c'est le pointeur P voilà donc là P
[54:20] ça c'est le pointeur P voilà donc là P pointure le tableau P voilà donc on
[54:23] pointure le tableau P voilà donc on essaie d'afficher d'abord ici comme vous
[54:26] essaie d'afficher d'abord ici comme vous voyez les adresses donc puisqu'on a mis
[54:28] voyez les adresses donc puisqu'on a mis l'adresse l'indicateur de format P de
[54:31] l'adresse l'indicateur de format P de toutes les cases de la du tableau a
[54:33] toutes les cases de la du tableau a voilà et après on essaie d'afficher donc
[54:36] voilà et après on essaie d'afficher donc le résultat après chaque instruction
[54:37] le résultat après chaque instruction alors on va voir d'abord le résultat
[54:40] alors on va voir d'abord le résultat donc exécuter donc pas d'erreur voilà
[54:43] donc exécuter donc pas d'erreur voilà alors cette adresse là c'est l'adresse
[54:45] alors cette adresse là c'est l'adresse de la case 12 ça c'est l'adresse de la
[54:47] de la case 12 ça c'est l'adresse de la deuxième case c'est-à-dire l'adresse de
[54:49] deuxième case c'est-à-dire l'adresse de la case 23
[54:51] la case 23 ça c'est la case suivante ainsi de suite
[54:53] ça c'est la case suivante ainsi de suite donc 90 par exemple est stocké dans
[54:55] donc 90 par exemple est stocké dans cette case on va essayer d'afficher
[54:57] cette case on va essayer d'afficher maintenant ces valeurs là par exemple la
[55:01] maintenant ces valeurs là par exemple la première instruction la première
[55:03] première instruction la première instruction on essaie de faire quoi on
[55:05] instruction on essaie de faire quoi on essaye d'incrémenter P donc au lieu de
[55:07] essaye d'incrémenter P donc au lieu de que P point sur la première case il va
[55:10] que P point sur la première case il va pointer sur cette deuxième case alors là
[55:12] pointer sur cette deuxième case alors là normalement nous devons avoir cette
[55:13] normalement nous devons avoir cette adresse comme résultat voilà c'est
[55:15] adresse comme résultat voilà c'est exactement ce qu'on a ici puisqu'on a
[55:17] exactement ce qu'on a ici puisqu'on a mis l'adresse de paix pour l'instruction
[55:19] mis l'adresse de paix pour l'instruction suivante déjà donc le pointeur ne pointe
[55:22] suivante déjà donc le pointeur ne pointe pas sur cette case il pointe sur cette
[55:23] pas sur cette case il pointe sur cette case là on va ajouter 3 à ce pointer là
[55:26] case là on va ajouter 3 à ce pointer là donc au lieu de pointer sur cette case
[55:27] donc au lieu de pointer sur cette case il va pointer sur cette case alors là
[55:30] il va pointer sur cette case alors là cette case là normalement c'est
[55:31] cette case là normalement c'est l'adresse de la variable ou bien de la
[55:33] l'adresse de la variable ou bien de la valeur 56 et voilà donc c'est ce qu'on a
[55:36] valeur 56 et voilà donc c'est ce qu'on a ici par exemple pour la dernière
[55:38] ici par exemple pour la dernière instruction qu'on a vu donc est-ce qu'on
[55:40] instruction qu'on a vu donc est-ce qu'on peut super = a on a trouvé un et voilà
[55:42] peut super = a on a trouvé un et voilà donc on a ici un donc essayez de refaire
[55:44] donc on a ici un donc essayez de refaire ça pour bien comprendre les pointeurs
[55:47] ça pour bien comprendre les pointeurs avec les tableaux et maintenant nous
[55:49] avec les tableaux et maintenant nous allons passer à l'exercice numéro 3
[55:50] allons passer à l'exercice numéro 3 alors pendant cet exercice à l'aide du
[55:52] alors pendant cet exercice à l'aide du pointeur nous allons écrire un programme
[55:53] pointeur nous allons écrire un programme qui demande à l'utilisateur de remplir
[55:55] qui demande à l'utilisateur de remplir un tableau avec ces éléments puis le
[55:57] un tableau avec ces éléments puis le programme calculer affiche la somme de
[55:59] programme calculer affiche la somme de ces éléments là alors là l'objectif
[56:01] ces éléments là alors là l'objectif c'est que aller du pointure bien sûr on
[56:03] c'est que aller du pointure bien sûr on va déclarer des pointeurs pour récupérer
[56:05] va déclarer des pointeurs pour récupérer les valeurs qui se sont stockées dans ce
[56:07] les valeurs qui se sont stockées dans ce tableau là et toujours aller du pointeur
[56:09] tableau là et toujours aller du pointeur on voit calculer un fichier la son alors
[56:11] on voit calculer un fichier la son alors essayez de faire pause à la vidéo
[56:13] essayez de faire pause à la vidéo essayer de réfléchir comment créer un
[56:15] essayer de réfléchir comment créer un pointeur par exemple p qui va pointer
[56:17] pointeur par exemple p qui va pointer sur ces éléments là et par la suite
[56:19] sur ces éléments là et par la suite utiliser ce plat pour remplir les
[56:21] utiliser ce plat pour remplir les éléments de ce tableau latin et par la
[56:24] éléments de ce tableau latin et par la suite utiliser de la même démarche
[56:25] suite utiliser de la même démarche utilisée pour calculer la somme et les
[56:28] utilisée pour calculer la somme et les affiches du tableau alors d'abord on
[56:31] affiches du tableau alors d'abord on commence avec la déclaration du tableau
[56:32] commence avec la déclaration du tableau t donc de type int alors avec 6 éléments
[56:35] t donc de type int alors avec 6 éléments voilà donc ça c'est la première chose
[56:39] voilà donc ça c'est la première chose après on va déclarer un pointeur qui
[56:41] après on va déclarer un pointeur qui pointe sur ce tableau là alors
[56:44] pointe sur ce tableau là alors vous pouvez revenir à la ligne et
[56:46] vous pouvez revenir à la ligne et affecter à P quoi comme ça
[56:50] affecter à P quoi comme ça alors voilà maintenant on a un pointeur
[56:52] alors voilà maintenant on a un pointeur qui pointe sur le la première case du
[56:54] qui pointe sur le la première case du tableau t après on va essayer maintenant
[56:56] tableau t après on va essayer maintenant de remplir les cases de ce tableau là
[56:59] de remplir les cases de ce tableau là alors pour remplir les cases de ce
[57:02] alors pour remplir les cases de ce tableau là vous pouvez utiliser les
[57:04] tableau là vous pouvez utiliser les pointeurs de la manière suivante alors
[57:06] pointeurs de la manière suivante alors d'abord on va afficher un petit message
[57:08] d'abord on va afficher un petit message à l'utilisateur que l'on est en train de
[57:09] à l'utilisateur que l'on est en train de remplir le tableau
[57:10] remplir le tableau t voilà il est 6h les éléments du
[57:13] t voilà il est 6h les éléments du tableau teint et là on va utiliser la
[57:15] tableau teint et là on va utiliser la boucle for alors l'habitude c'est
[57:17] boucle for alors l'habitude c'est d'utiliser l'indice I qui commencera à
[57:19] d'utiliser l'indice I qui commencera à partir de zéro jusqu'à 5 et à chaque
[57:21] partir de zéro jusqu'à 5 et à chaque fois on affecte à Ti une valeur
[57:24] fois on affecte à Ti une valeur maintenant on va utiliser au lieu
[57:26] maintenant on va utiliser au lieu d'utiliser les donc un tableau t on va
[57:29] d'utiliser les donc un tableau t on va utiliser les pointeurs alors pointeur
[57:31] utiliser les pointeurs alors pointeur déjà il va commencer à partir de la
[57:33] déjà il va commencer à partir de la première case du tableau alors voilà
[57:36] première case du tableau alors voilà vous pouvez soit mettre l'adresse de T0
[57:39] vous pouvez soit mettre l'adresse de T0 de cette manière là ou bien tout
[57:40] de cette manière là ou bien tout simplement mettre t puisque tu es déjà
[57:43] simplement mettre t puisque tu es déjà un point sur la première case du tableau
[57:45] un point sur la première case du tableau après la deuxième chose
[57:47] après la deuxième chose donc P il va aller jusqu'à quoi
[57:51] donc P il va aller jusqu'à quoi t plus 6 voilà donc ça c'est la
[57:55] t plus 6 voilà donc ça c'est la condition pour arrêter donc la
[57:57] condition pour arrêter donc la strictement inférieure à t+6 et après on
[58:01] strictement inférieure à t+6 et après on va mettre quoi on va mettre P plus plus
[58:04] va mettre quoi on va mettre P plus plus à chaque fois il va pointer sur
[58:06] à chaque fois il va pointer sur l'élément la première case après la
[58:08] l'élément la première case après la deuxième case ainsi de suite après vous
[58:09] deuxième case ainsi de suite après vous pouvez afficher un petit message pour
[58:12] pouvez afficher un petit message pour indiquer donc là donc l'indice alors
[58:16] indiquer donc là donc l'indice alors pour afficher l'indice pourcentage d on
[58:19] pour afficher l'indice pourcentage d on va fermer par crochet égale après pour
[58:22] va fermer par crochet égale après pour afficher 0 1 2 3 ainsi de suite il se
[58:27] afficher 0 1 2 3 ainsi de suite il se fait d'exécuter la soustraction entre
[58:28] fait d'exécuter la soustraction entre pit alors donc lorsque vous exécutez la
[58:32] pit alors donc lorsque vous exécutez la soustraction entre les deux elle va
[58:33] soustraction entre les deux elle va afficher la distance entre les deux
[58:35] afficher la distance entre les deux alors au départ P égal à T après pipasse
[58:38] alors au départ P égal à T après pipasse à l'élément 1 après passe à l'élément de
[58:40] à l'élément 1 après passe à l'élément de ainsi suite et toujours on fait la
[58:41] ainsi suite et toujours on fait la différence entre les deux au départ
[58:43] différence entre les deux au départ c'est 0 après 1 près 2 donc on a vu déjà
[58:46] c'est 0 après 1 près 2 donc on a vu déjà ça au niveau d'explication et après vous
[58:49] ça au niveau d'explication et après vous pouvez ajouter ce qu'on a
[58:51] pouvez ajouter ce qu'on a et là pourcentage D et l'habitude c'est
[58:54] et là pourcentage D et l'habitude c'est de mettre l'adresse de tes 0 ça ce qu'on
[58:58] de mettre l'adresse de tes 0 ça ce qu'on fait normalement alors là on va tout
[59:00] fait normalement alors là on va tout simplement mettre
[59:01] simplement mettre le de tout ça on va mettre P qui pointe
[59:04] le de tout ça on va mettre P qui pointe au départ sur l'élément avec l'indice 0
[59:06] au départ sur l'élément avec l'indice 0 après l'élément avec l'indice 1 ainsi de
[59:08] après l'élément avec l'indice 1 ainsi de suite voilà donc c'est ça la méthode on
[59:11] suite voilà donc c'est ça la méthode on peut même tester donc là on a un petit
[59:14] peut même tester donc là on a un petit erreur alors l'origine du problème
[59:15] erreur alors l'origine du problème normalement c'est que on a oublié
[59:19] normalement c'est que on a oublié d'ajouter l'étoile donc là donc il faut
[59:23] d'ajouter l'étoile donc là donc il faut mettre toujours l'étoile pour pointeur
[59:24] mettre toujours l'étoile pour pointeur pour qu'il puisse pointe sur un tableau
[59:26] pour qu'il puisse pointe sur un tableau voilà maintenant on n'a pas de problème
[59:29] voilà maintenant on n'a pas de problème donc 5 par exemple de 6 5 4 normalement
[59:34] donc 5 par exemple de 6 5 4 normalement le programme doit s'arrêter ici voilà
[59:36] le programme doit s'arrêter ici voilà donc 5 ou bien six éléments alors vous
[59:39] donc 5 ou bien six éléments alors vous pouvez même commencer à partir de 1 en
[59:41] pouvez même commencer à partir de 1 en ajoutant un ici plus
[59:43] ajoutant un ici plus voilà maintenant nous passons à l'étape
[59:46] voilà maintenant nous passons à l'étape suivante c'est calculer la somme donc on
[59:48] suivante c'est calculer la somme donc on va utiliser la même boucle même démarche
[59:51] va utiliser la même boucle même démarche ok alors là s donc normalement on va
[59:56] ok alors là s donc normalement on va déclarer une variable s ici donc on peut
[59:59] déclarer une variable s ici donc on peut l'ajouter là
[01:00:02] après ce qu'on va faire il faut toujours
[01:00:05] après ce qu'on va faire il faut toujours changer l'élément sur le pointe P donc
[01:00:07] changer l'élément sur le pointe P donc là il faut que mon revenir premier
[01:00:09] là il faut que mon revenir premier élément et là on va faire quoi on va
[01:00:12] élément et là on va faire quoi on va affecter un S croire s plus tout
[01:00:16] affecter un S croire s plus tout simplement le contenu de la variable ou
[01:00:18] simplement le contenu de la variable ou bien du pointeur là étoile comme ça et
[01:00:22] bien du pointeur là étoile comme ça et puis la dernière chose c'est prendre F
[01:00:24] puis la dernière chose c'est prendre F pour afficher la somme alors on va
[01:00:26] pour afficher la somme alors on va écrire que la somme est voilà la somme
[01:00:28] écrire que la somme est voilà la somme des éléments du tableau est pourcentage
[01:00:29] des éléments du tableau est pourcentage D et là on va afficher virgule l'adresse
[01:00:32] D et là on va afficher virgule l'adresse de ou bien la valeur de S comme ça voilà
[01:00:36] de ou bien la valeur de S comme ça voilà on va exécuter maintenant
[01:00:39] on va exécuter maintenant voilà donc on va saisir les éléments
[01:00:41] voilà donc on va saisir les éléments donc maintenant on commence à partir de
[01:00:43] donc maintenant on commence à partir de 1 voilà donc la somme de tous ces
[01:00:46] 1 voilà donc la somme de tous ces éléments là c'est 40 voilà donc si vous
[01:00:48] éléments là c'est 40 voilà donc si vous avez d'autres propositions pour cet
[01:00:50] avez d'autres propositions pour cet exercice merci de les partager dans la
[01:00:51] exercice merci de les partager dans la section des commentaires maintenant nous
[01:00:53] section des commentaires maintenant nous passons au dernier exercice de cette
[01:00:54] passons au dernier exercice de cette vidéo dans ce dernier exercice toujours
[01:00:57] vidéo dans ce dernier exercice toujours aller du pointant nous allons créer un
[01:00:58] aller du pointant nous allons créer un programme qui demande à utiliser de
[01:01:00] programme qui demande à utiliser de remplir un tableau de 10 ans et cette
[01:01:01] remplir un tableau de 10 ans et cette fois donc le tableau t ensuite le
[01:01:04] fois donc le tableau t ensuite le programme va déterminer afficher le
[01:01:06] programme va déterminer afficher le minimum des éléments du tableau toujours
[01:01:08] minimum des éléments du tableau toujours essayer de faire pause à la vidéo ici
[01:01:10] essayer de faire pause à la vidéo ici indiquer le programme alors là le
[01:01:13] indiquer le programme alors là le programme aller 10 pointeur doit nous
[01:01:15] programme aller 10 pointeur doit nous afficher ici la valeur minimale c'est
[01:01:17] afficher ici la valeur minimale c'est moins 4 maintenant je vais revenir à
[01:01:19] moins 4 maintenant je vais revenir à code blocks pour écrire le programme
[01:01:20] code blocks pour écrire le programme alors voilà donc ça c'est le programme
[01:01:22] alors voilà donc ça c'est le programme normalement de l'exercice numéro 4 on va
[01:01:24] normalement de l'exercice numéro 4 on va ajouter là la variable mine donc là la
[01:01:27] ajouter là la variable mine donc là la taille normalement c'est 10 on va garder
[01:01:29] taille normalement c'est 10 on va garder les mêmes choses donc là on va aller
[01:01:31] les mêmes choses donc là on va aller jusqu'à plus
[01:01:32] jusqu'à plus 10 donc ça c'est phase de remplissage
[01:01:34] 10 donc ça c'est phase de remplissage alors je vous donne une deuxième méthode
[01:01:36] alors je vous donne une deuxième méthode pour remplir le tableau à l'aide de
[01:01:38] pour remplir le tableau à l'aide de l'utilisation du pointeur t c'est-à-dire
[01:01:41] l'utilisation du pointeur t c'est-à-dire le nom du tableau alors la méthode est
[01:01:43] le nom du tableau alors la méthode est là suivante alors là on va déclarer une
[01:01:45] là suivante alors là on va déclarer une variable i
[01:01:48] et après ce qu'on va faire
[01:02:06] [Musique]
[01:02:27] donc la formule suivante c'est
[01:02:29] donc la formule suivante c'est plus i tout simplement donc i au départ
[01:02:33] plus i tout simplement donc i au départ c'est 0 après 1 près de donc
[01:02:35] c'est 0 après 1 près de donc sans le pouvant remplir le tableau
[01:02:38] sans le pouvant remplir le tableau maintenant nous passons à la partie
[01:02:41] maintenant nous passons à la partie suivante c'est la partie de donc qui
[01:02:43] suivante c'est la partie de donc qui permet de terminer le minimum alors pour
[01:02:47] permet de terminer le minimum alors pour ça on doit utiliser la technique
[01:02:49] ça on doit utiliser la technique suivante on va supposer que le minimum
[01:02:50] suivante on va supposer que le minimum et le premier élément du tableau donc là
[01:02:53] et le premier élément du tableau donc là vous avez plusieurs possibilités soit de
[01:02:54] vous avez plusieurs possibilités soit de mettre tes 0 comme ça
[01:02:57] mettre tes 0 comme ça le premier élément aussi
[01:03:00] le premier élément aussi à l'aide de le contenu de paix mais il
[01:03:04] à l'aide de le contenu de paix mais il faut faire attention si vous avez
[01:03:05] faut faire attention si vous avez utilisé cette méthode il faut faire quoi
[01:03:07] utilisé cette méthode il faut faire quoi avant d'utiliser P donc là ou bien ici
[01:03:10] avant d'utiliser P donc là ou bien ici avant de l'utiliser il faut initialiser
[01:03:12] avant de l'utiliser il faut initialiser à nouveau la valeur de p et de mettre T
[01:03:15] à nouveau la valeur de p et de mettre T pour revenir ou bien pour que pointeur P
[01:03:18] pour revenir ou bien pour que pointeur P puisse pointer sur le premier élément du
[01:03:19] puisse pointer sur le premier élément du tableau voilà donc vous avez cette
[01:03:21] tableau voilà donc vous avez cette méthode ou bien la dernière vous pouvez
[01:03:24] méthode ou bien la dernière vous pouvez même affecter à mine quoi t pointeur qui
[01:03:28] même affecter à mine quoi t pointeur qui pointe sur la première case des tableaux
[01:03:29] pointe sur la première case des tableaux et là il faut mettre bien sûr l'étoile
[01:03:31] et là il faut mettre bien sûr l'étoile alors vous avez le choix entre ces donc
[01:03:34] alors vous avez le choix entre ces donc opérations alors pour moi je vais dans
[01:03:38] opérations alors pour moi je vais dans ce cas là donc là je vais garder tout ça
[01:03:40] ce cas là donc là je vais garder tout ça donc si vous voulez revenez par la suite
[01:03:42] donc si vous voulez revenez par la suite je vais garder la dernière opération je
[01:03:45] je vais garder la dernière opération je vais passer à la détermination de la
[01:03:48] vais passer à la détermination de la donc la plus petite valeur bien la
[01:03:51] donc la plus petite valeur bien la valeur minimale du tableau et pour cela
[01:03:53] valeur minimale du tableau et pour cela je vais commencer à partir du deuxième
[01:03:55] je vais commencer à partir du deuxième élément du tableau alors je vais
[01:03:56] élément du tableau alors je vais utiliser le qui commencera à partir du
[01:04:00] utiliser le qui commencera à partir du deuxième élément du tableau c'est-à-dire
[01:04:01] deuxième élément du tableau c'est-à-dire t plus un comme ça Point Virgule P doit
[01:04:05] t plus un comme ça Point Virgule P doit être inférieur à T plus
[01:04:10] être inférieur à T plus 10 et finalement le P plus plus comme ça
[01:04:15] 10 et finalement le P plus plus comme ça et voilà maintenant nous pouvons donc
[01:04:18] et voilà maintenant nous pouvons donc exécuter l'instruction suivante si donc
[01:04:21] exécuter l'instruction suivante si donc F mine et
[01:04:25] F mine et strictement supérieur à pointeur P alors
[01:04:28] strictement supérieur à pointeur P alors tout simplement le pointe mais on va
[01:04:30] tout simplement le pointe mais on va changer mine on va mettre dans cette
[01:04:31] changer mine on va mettre dans cette valeur pointeur B alors là P majuscule
[01:04:38] valeur pointeur B alors là P majuscule voilà maintenant nous avons dans mine la
[01:04:40] voilà maintenant nous avons dans mine la valeur minimale il suffit de l'afficher
[01:04:42] valeur minimale il suffit de l'afficher donc là on va changer son message là
[01:04:44] donc là on va changer son message là alors le mien du tableau est mine alors
[01:04:48] alors le mien du tableau est mine alors on va tester le programme pour voir ce
[01:04:50] on va tester le programme pour voir ce que ça marche ça marche pas là point
[01:04:52] que ça marche ça marche pas là point virgule
[01:04:55] on va exécuter on va saisir les valeurs
[01:04:57] on va exécuter on va saisir les valeurs voilà normalement doit s'arrêter ici
[01:04:59] voilà normalement doit s'arrêter ici donc le mini normalement c'est -100
[01:05:01] donc le mini normalement c'est -100 voilà le minimum sont voilà donc ça
[01:05:05] voilà le minimum sont voilà donc ça c'est la solution de cet exercice en
[01:05:06] c'est la solution de cet exercice en utilisant d'autres techniques toujours
[01:05:08] utilisant d'autres techniques toujours aller 10 pointeurs pour d'abord remplir
[01:05:11] aller 10 pointeurs pour d'abord remplir un tableau et par la suite pour
[01:05:12] un tableau et par la suite pour parcourir les éléments du tableau
[01:05:14] parcourir les éléments du tableau toujours à l'aide du pointeur si vous
[01:05:16] toujours à l'aide du pointeur si vous avez d'autres solutions d'autres
[01:05:16] avez d'autres solutions d'autres propositions pour cet exercice ou bien
[01:05:19] propositions pour cet exercice ou bien pour les autres exercices de cette vidéo
[01:05:21] pour les autres exercices de cette vidéo merci de les partager dans la section
[01:05:22] merci de les partager dans la section des commentaires et voilà donc ça c'est
[01:05:25] des commentaires et voilà donc ça c'est la fin de cette vidéo ce qu'il faut
[01:05:27] la fin de cette vidéo ce qu'il faut retenir ce que c'est un pointeur si une
[01:05:30] retenir ce que c'est un pointeur si une variable qui contient l'adresse d'une
[01:05:31] variable qui contient l'adresse d'une autre variable il y a plusieurs raisons
[01:05:33] autre variable il y a plusieurs raisons pourquoi on utilise les pointeurs la
[01:05:35] pourquoi on utilise les pointeurs la raison principale c'est l'optimisation
[01:05:38] raison principale c'est l'optimisation de la mémoire ou bien économiser la
[01:05:40] de la mémoire ou bien économiser la mémoire de l'ordinateur puisqu'on a des
[01:05:42] mémoire de l'ordinateur puisqu'on a des mémoires un peu très restreint et très
[01:05:44] mémoires un peu très restreint et très limités la deuxième raison c'est la
[01:05:46] limités la deuxième raison c'est la rapidité à leur actuellement les
[01:05:49] rapidité à leur actuellement les langages les plus rapides sont langage C
[01:05:51] langages les plus rapides sont langage C et C++ a raison d'utilisation des
[01:05:55] et C++ a raison d'utilisation des adresses au lieu du valeurs pour
[01:05:56] adresses au lieu du valeurs pour manipuler les données cela rendra le
[01:05:58] manipuler les données cela rendra le programme très très rapide surtout pour
[01:06:00] programme très très rapide surtout pour les jeux vidéo et aussi il y a d'autres
[01:06:02] les jeux vidéo et aussi il y a d'autres raisons qu'on va voir par la suite dans
[01:06:04] raisons qu'on va voir par la suite dans la formation de ces avancer c'est que à
[01:06:07] la formation de ces avancer c'est que à l'aide du pointeur ne peut vous
[01:06:08] l'aide du pointeur ne peut vous manipuler les fichiers ou bien les
[01:06:10] manipuler les fichiers ou bien les structures des données et aussi une
[01:06:12] structures des données et aussi une autre raison pour l'utilisation des
[01:06:13] autre raison pour l'utilisation des pointeurs c'est que aller du pointeur
[01:06:16] pointeurs c'est que aller du pointeur vous pouvez manipuler les éléments du
[01:06:18] vous pouvez manipuler les éléments du tableau sans utiliser les indices comme
[01:06:20] tableau sans utiliser les indices comme par exemple cet exemple là et voilà donc
[01:06:23] par exemple cet exemple là et voilà donc ça c'est la fin de cette vidéo
[01:06:25] ça c'est la fin de cette vidéo [Musique]