# Langage C-8 : Pointeurs, passage par valeur, passage par adresse et arithmétique des pointeurs.

https://www.youtube.com/watch?v=adnyaD1bVR4
Translation: en

[00:00] bienvenue dans cette vidéo où nous
  Welcome to this video where we

[00:01] bienvenue dans cette vidéo où nous allons approfondir notre compréhension
  Welcome to this video where we will deepen our understanding

[00:03] allons approfondir notre compréhension du pointeur en scène dans cette vidéo
  will deepen our understanding of the pointer in scene in this video

[00:05] du pointeur en scène dans cette vidéo vous allez découvrir l'utilité et
  of the pointer in scene in this video you will discover the usefulness and

[00:07] vous allez découvrir l'utilité et l'intérêt du pointeur ainsi comment les
  you will discover the usefulness and interest of the pointer as well as how to

[00:10] l'intérêt du pointeur ainsi comment les déclarer et l'utiliser dans votre code
  the interest of the pointer as well as how to declare and use them in your code

[00:11] déclarer et l'utiliser dans votre code nous verrons également la différence
  declare and use them in your code we will also see the difference

[00:13] nous verrons également la différence entre le passage par valeur et le
  we will also see the difference between pass by value and

[00:15] entre le passage par valeur et le passage par référence ainsi que la
  between pass by value and pass by reference as well as the

[00:17] passage par référence ainsi que la relation entre les pointeurs et les
  pass by reference as well as the relationship between pointers and

[00:19] relation entre les pointeurs et les tableaux enfin nous aborderons les
  relationship between pointers and arrays finally we will address the

[00:21] tableaux enfin nous aborderons les opérations arithmétiques couramment
  arrays finally we will address the arithmetic operations commonly

[00:23] opérations arithmétiques couramment utilisées sur les pointeurs pour mettre
  arithmetic operations commonly used on pointers to put

[00:26] utilisées sur les pointeurs pour mettre en pratique toutes ces connaissances
  used on pointers to put into practice all this knowledge

[00:27] en pratique toutes ces connaissances nous allons travailler sur un total de 5
  into practice all this knowledge we are going to work on a total of 5

[00:29] nous allons travailler sur un total de 5 exercices pratiques allez c'est parti
  we are going to work on a total of 5 practical exercises let's go

[00:37] dans cette vidéo nous allons voir la
  In this video we are going to see the

[00:39] dans cette vidéo nous allons voir la sixième partie de ce cours les pointeurs
  In this video we are going to see the sixth part of this course pointers

[00:41] sixième partie de ce cours les pointeurs afin de bien comprendre les pointeurs on
  sixth part of this course pointers in order to understand pointers well we

[00:44] afin de bien comprendre les pointeurs on va voir deux activités d'abord donc pour
  in order to understand pointers well we are going to see two activities first so for

[00:46] va voir deux activités d'abord donc pour la première activité on suppose qu'on
  will see two activities first so for the first activity we assume that we

[00:49] la première activité on suppose qu'on est en train d'utiliser un ordinateur
  the first activity we assume that we are using a computer

[00:50] est en train d'utiliser un ordinateur bien sûr lorsqu'on utilise un ordinateur
  are using a computer of course when we use a computer

[00:51] bien sûr lorsqu'on utilise un ordinateur l'ordinateur utilise la mémoire RAM ou
  of course when we use a computer the computer uses RAM memory or

[00:54] l'ordinateur utilise la mémoire RAM ou bien la mémoire vive pour stocker
  the computer uses RAM memory or main memory to store

[00:56] bien la mémoire vive pour stocker temporairement les applications par
  main memory to temporarily store applications by

[00:59] temporairement les applications par exemple lorsqu'on exécute un jeu comme
  temporarily applications for example when we run a game like

[01:01] exemple lorsqu'on exécute un jeu comme par exemple objet pas objet va prendre
  for example when we run a game like for example object not object will take

[01:03] par exemple objet pas objet va prendre un espace mémoire très intéressant dans
  for example object not object will take a very interesting memory space in

[01:06] un espace mémoire très intéressant dans la mémoire a par contre lorsqu'on lance
  a very interesting memory space in memory a on the other hand when we launch

[01:08] la mémoire a par contre lorsqu'on lance d'autres programmes comme par exemple
  memory a on the other hand when we launch other programs like for example

[01:10] d'autres programmes comme par exemple faire Fox Photoshop ou bien word ils
  other programs like for example Photoshop or Word they

[01:12] faire Fox Photoshop ou bien word ils vont prendre moins d'espace mémoire par
  Photoshop or Word they will take up less memory space by

[01:14] vont prendre moins d'espace mémoire par rapport par objet et là on voit
  will take up less memory space compared to by object and there we see

[01:16] rapport par objet et là on voit clairement l'importance de la RAM pour
  compared to by object and there we clearly see the importance of RAM for

[01:19] clairement l'importance de la RAM pour un ordinateur si on veut par exemple
  clearly the importance of RAM for a computer if we want for example

[01:21] un ordinateur si on veut par exemple avoir un ordinateur très puissant et
  a computer if we want for example to have a very powerful computer and

[01:24] avoir un ordinateur très puissant et très rapide on doit avoir une rame avec
  to have a very powerful and very fast computer we must have RAM with

[01:26] très rapide on doit avoir une rame avec une grande capacité de stockage et par
  very fast we must have RAM with a large storage capacity and subsequently

[01:29] une grande capacité de stockage et par la suite lorsqu'on par exemple faire ou
  a large storage capacity and subsequently when we for example do or

[01:32] la suite lorsqu'on par exemple faire ou bien lorsqu'on est un ordinateur les
  subsequently when we for example do or when we are on a computer the

[01:34] bien lorsqu'on est un ordinateur les applications bien l'espace mémoire dans
  or when we are on a computer the applications or the memory space in

[01:36] applications bien l'espace mémoire dans la mémoire de ces applications là sera
  applications or the memory space in the memory of these applications will be

[01:38] la mémoire de ces applications là sera libérée alors au début d'utilisation des
  the memory of these applications will be freed then at the beginning of use of

[01:42] libérée alors au début d'utilisation des ordinateurs dans les années
  freed then at the beginning of use of computers in the years

[01:44] ordinateurs dans les années 1980 et 1990 l'une des raisons
  computers in the 1980s and 1990s one of the reasons

[01:47] 1980 et 1990 l'une des raisons d'utilisation du pointeur qu'on va voir
  1980s and 1990s one of the reasons for using the pointer that we will see

[01:49] d'utilisation du pointeur qu'on va voir par la suite c'est que les pointeurs
  for using the pointer that we will see subsequently is that pointers

[01:51] par la suite c'est que les pointeurs économisent l'utilisation de la mémoire
  subsequently is that pointers save the use of memory

[01:53] économisent l'utilisation de la mémoire RAM de l'ordinateur et c'est ça la
  save the use of the computer's RAM and that is the

[01:55] RAM de l'ordinateur et c'est ça la raison principale pourquoi on utilise
  computer's RAM and that is the main reason why we use

[01:57] raison principale pourquoi on utilise les pointeurs avec le langage C et aussi
  main reason why we use pointers with the C language and also

[02:00] les pointeurs avec le langage C et aussi le langage C++ alors une deuxième
  pointers with the C language and also the C++ language so a second

[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.
  The C++ language, so a second activity there will also give you an activity there will also give you an idea why we use pointers.

[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.
  idea why we use pointers, so we assume we have a program with the main function 'mine', so this program contains the following instructions.

[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.
  program contains the following instructions, so here we have two variables A and B, so this is the value of a, this is the value of B, then we execute a function, this function simply allows swapping the values of a and 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.
  comes then the following instructions, we use an intermediate variable and there we store, or rather, this variable allowed swapping the contents of X, and subsequently we try to display the value of a and B after the function's execution.

[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.
  display the value of a and B after the function's execution, if we want to really see what happens inside the computer.

[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.
  see what happens inside the computer, so this is a program, of course, a program when it is executed uses the main memory to store in this case the variables to perform swaps and so on.

[02:59] échanges ainsi de suite alors là lorsqu'on exécute le programme les deux premières instructions permet de dans ce
  swaps and so on, so here when we execute the program, the first two instructions allow in this

[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
  first instructions allow in that case to what to declare or to reserve two memory spaces for a and

[03:08] l'autre pour B et par la suite on stocke la valeur a et deux dans ces deux espaces
  the other for B and subsequently we store the value a and two in these two spaces

[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à
  subsequently when we pass to the exchange function the exchange function it's like another program we have this program here

[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
  which allows to reserve this memory space for A and B and exchange it's another program and there it will also reserve another memory space in the RAM memory

[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
  and this time there will be two variables x and Y and subsequently so normally the value of x in this case is the value of a earlier

[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
  the value of A1 will be copied here which is of course the copy of AC1 subsequently we will have a copy of 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
  so that means the value of y will be C2 and then in this function it allows to reserve another memory space this time for the temporary variable TMP

[04:02] et là cette variable là va nous aider pour
  and there this variable will help us for

[04:05] là cette variable là va nous aider pour échanger les valeurs de x et de y voilà
  this variable here will help us to exchange the values of x and y there

[04:08] échanger les valeurs de x et de y voilà
  exchange the values of x and y there

[04:11] maintenant les valeurs de Xi y sont échanger mais le problème sera toujours posé pour les deux variables A et B
  now the values of Xi and y are exchanged but the problem will still be posed for the two variables A and 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
  posed for the two variables A and B because when this function ends the memory space of this function will be freed and we return to the initial state that is to say

[04:25] revenons à l'état initial c'est-à-dire toujours la valeur de a et 1 et la valeur de B et deux
  return to the initial state that is to say always the value of a and 1 and the value of B and two

[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
  so the origin of this problem if in fact the use of values and that is one of the concepts we will see later in this video

[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
  pass by value and pass by address normally to solve this problem we must use pointers using what we call addresses

[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
  first we will go back to understand the initial problem or why the values of a and b are not exchanged

[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
  so the origin is that when we declare for example two variables A and B for each memory space there is of course an address this address in the form of an ASCII code for example we

[05:05] forme d'un code ASCII par exemple on suppose que ça c'est l'adresse de a de
  in the form of an ASCII code for example we assume that this is the address of a of

[05:07] suppose que ça c'est l'adresse de a de la variable a et ça c'est l'adresse de
  suppose that this is the address of a of the variable a and this is the address of

[05:08] la variable a et ça c'est l'adresse de la variable B et là c'est le contenu de
  the variable a and this is the address of the variable B and here is the content of

[05:11] la variable B et là c'est le contenu de a et là le contenu de B alors lorsqu'on
  the variable B and here is the content of a and here the content of B so when

[05:13] a et là le contenu de B alors lorsqu'on exécute la fonction échange la fonction
  a and here the content of B so when we execute the swap function the function

[05:16] exécute la fonction échange la fonction échange va réserver d'autres
  executes the swap function the swap function will reserve other

[05:19] échange va réserver d'autres les adresses mémoire
  swap will reserve other memory addresses

[05:23] pour la variable dans ce cas là X et la
  for the variable in this case X and the

[05:25] pour la variable dans ce cas là X et la variable Y et la variable tente et
  for the variable in this case X and the variable Y and the tentative variable and

[05:28] variable Y et la variable tente et lorsqu'on effectue l'échange les choses
  variable Y and the tentative variable and when we perform the swap the things

[05:30] lorsqu'on effectue l'échange les choses sera effectuées entre ces adresses là
  when we perform the swap the things will be performed between these addresses

[05:33] sera effectuées entre ces adresses là alors ça c'est le problème avec
  will be performed between these addresses so this is the problem with

[05:36] alors ça c'est le problème avec l'utilisation des valeurs ou bien de ce
  so this is the problem with the use of values or what

[05:38] l'utilisation des valeurs ou bien de ce qu'on nous appelons le passage par
  the use of values or what we call pass by

[05:39] qu'on nous appelons le passage par valeur alors comme j'ai déjà dit pour
  we call pass by value so as I already said to

[05:41] valeur alors comme j'ai déjà dit pour résoudre ce problème-là il faut utiliser
  value so as I already said to solve this problem we must use

[05:43] résoudre ce problème-là il faut utiliser le passage par adresse ou bien par
  solve this problem we must use pass by address or by

[05:46] le passage par adresse ou bien par référence alors comment exécute le
  pass by address or by reference so how to execute the

[05:49] référence alors comment exécute le passage par référence alors là ce qu'on
  reference so how to execute pass by reference so here what we

[05:51] passage par référence alors là ce qu'on va faire tout simplement au moment
  pass by reference so here what we will do simply at the time

[05:53] va faire tout simplement au moment d'appel de la fonction échange au lieu
  will do simply at the time of calling the swap function instead of

[05:56] d'appel de la fonction échange au lieu de
  calling the swap function instead of

[05:57] de de passer là les valeurs de a et de B on
  of passing the values of a and B we

[06:00] de passer là les valeurs de a et de B on va passer les adresses de a et les
  of passing the values of a and B we will pass the addresses of a and the

[06:03] va passer les adresses de a et les l'adresse de de B comme ça lorsqu'on
  will pass the addresses of a and the address of B like this when

[06:06] l'adresse de de B comme ça lorsqu'on exécute les instructions ne fait appel à
  the address of B like that when we execute the instructions does not call

[06:08] exécute les instructions ne fait appel à la fonction échange la fonction échange
  executes the instructions does not call the swap function the swap function

[06:10] la fonction échange la fonction échange il va faire quoi tout simplement il va
  the swap function the swap function what will it do simply it will

[06:13] il va faire quoi tout simplement il va créer aussi deux espaces mémoires
  what will it do simply it will also create two memory spaces

[06:16] créer aussi deux espaces mémoires 1 pour X et l'autre pour y et au lieu de
  create two memory spaces one for X and the other for y and instead of

[06:21] 1 pour X et l'autre pour y et au lieu de stocker ou bien de copier la valeur de a
  one for X and the other for y and instead of storing or copying the value of a

[06:25] stocker ou bien de copier la valeur de a et de B dans cet espace mémoire
  storing or copying the value of a and B in this memory space

[06:29] et de B dans cet espace mémoire on va couper ou bien on va passer là
  and B in this memory space we will cut or we will pass there

[06:32] on va couper ou bien on va passer là l'adresse de a et l'adresse de de B ici
  we will cut or we will pass there the address of a and the address of B here

[06:35] l'adresse de a et l'adresse de de B ici là où vient là donc passage par adresse
  the address of a and the address of B here where it comes from so pass by address

[06:37] là où vient là donc passage par adresse qu'on va voir par la suite alors là au
  where it comes from so pass by address which we will see later so at

[06:40] qu'on va voir par la suite alors là au moment d'exécution de cette fonction-là
  which we will see later so at the moment of execution of this function

[06:42] moment d'exécution de cette fonction-là il faut bien sûr changer les
  moment of execution of this function it is necessary of course to change the

[06:43] il faut bien sûr changer les instructions donc là on utilise les
  it is necessary of course to change the instructions so there we use the

[06:45] instructions donc là on utilise les toiles les toiles signifie quoi
  instructions so there we use the stars the stars mean what

[06:47] toiles les toiles signifie quoi signifie que
  stars the stars mean what means that

[06:49] signifie que notre variable
  means that our variable

[06:51] notre variable donc par exemple cette variable là donc
  our variable so for example this variable here so

[06:52] donc par exemple cette variable là donc normalement ça c'est l'adresse de la
  so for example this variable here so normally this is the address of the

[06:55] normalement ça c'est l'adresse de la variable X et ça c'est le contenu de la
  normally this is the address of the variable X and this is the content of the

[06:58] variable X et ça c'est le contenu de la variable x alors ici donc l'ordinateur
  variable X and this is the content of the variable x so here the computer

[07:01] variable x alors ici donc l'ordinateur il va travailler avec ce qu'on nous
  variable x so here the computer will work with what we

[07:02] il va travailler avec ce qu'on nous appelons un pointeur alors lorsqu'on met
  will work with what we call a pointer so when we put

[07:05] appelons un pointeur alors lorsqu'on met l'étoile devant le nom du pointeur ça
  call a pointer so when we put the star in front of the pointer's name it

[07:09] l'étoile devant le nom du pointeur ça signifie quoi il va chercher cet espace
  The asterisk before the pointer name, what does that mean? It's going to look for this space.

[07:12] signifie quoi il va chercher cet espace mémoire
  What does it mean? It's going to look for this memory space.

[07:14] mémoire dans l'ordinateur donc cet espace c'est
  memory in the computer, so this space is

[07:16] dans l'ordinateur donc cet espace c'est cet espace là il fait référence à cet
  in the computer, so this space is, this space here refers to this

[07:18] cet espace là il fait référence à cet espace et là donc lorsqu'on met étoile
  this space here refers to this space and then when we put an asterisk

[07:21] espace et là donc lorsqu'on met étoile c'est-à-dire on va accéder à cet espace
  space, and then when we put an asterisk, meaning we will access this space.

[07:23] c'est-à-dire on va accéder à cet espace et on va prendre les valeurs de cet
  meaning we will access this space and we will take the values of this

[07:25] et on va prendre les valeurs de cet espace la valeur de cet espace c'est 1
  and we will take the values of this space. The value of this space is 1.

[07:27] espace la valeur de cet espace c'est 1 et pareil pour donc la variable dans ce
  space. The value of this space is 1, and similarly for the variable in this

[07:31] et pareil pour donc la variable dans ce cas là
  and similarly for the variable in this case.

[07:33] y donc y normalement c'est un pointeur
  y, so y is normally a pointer

[07:36] y donc y normalement c'est un pointeur qui pointe sur cet espace mémoire et là
  y, so y is normally a pointer that points to this memory space, and here

[07:38] qui pointe sur cet espace mémoire et là on va accéder directement à la valeur de
  that points to this memory space, and here we will directly access the value of

[07:41] on va accéder directement à la valeur de via cette opérateur alors on va revenir
  we will directly access the value via this operator. So we will come back

[07:44] via cette opérateur alors on va revenir à ça en détail par la suite s'ajuste
  via this operator. So we will come back to this in detail later. It adjusts

[07:46] à ça en détail par la suite s'ajuste cette activité va vous donner une idée
  to this in detail later. This activity will give you an idea

[07:49] cette activité va vous donner une idée pourquoi on utilise les pointeurs et
  this activity will give you an idea why we use pointers and

[07:51] pourquoi on utilise les pointeurs et l'intérêt du pointeur après donc là on
  why we use pointers and the benefit of the pointer. After that, we will

[07:53] l'intérêt du pointeur après donc là on va tout simplement échanger les deux
  the benefit of the pointer. After that, we will simply swap the two

[07:55] va tout simplement échanger les deux valeurs donc là on va accéder au contenu
  will simply swap the two values. So we will access the content

[07:58] valeurs donc là on va accéder au contenu de l'adresse de cet espace mémoire et on
  values. So we will access the content of the address of this memory space and we

[08:03] de l'adresse de cet espace mémoire et on va retourner la valeur 1 après on va
  of the address of this memory space and we will return the value 1. Then we will

[08:05] va retourner la valeur 1 après on va aussi accéder à cet espace mémoire David
  will return the value 1. Then we will also access this memory space David

[08:08] aussi accéder à cet espace mémoire David de cette opérateur et après on va créer
  also access this memory space David with this operator, and then we will create

[08:11] de cette opérateur et après on va créer un autre espace mémoire ça c'est juste
  of this operator and then we will create another memory space, this is just

[08:13] un autre espace mémoire ça c'est juste pour la variable temporaire et on va
  another memory space, this is just for the temporary variable and we will

[08:15] pour la variable temporaire et on va affecter quoi à cet espace mémoire dans
  for the temporary variable and what will we assign to this memory space in

[08:16] affecter quoi à cet espace mémoire dans un premier temps on va affecter à cet
  assign what to this memory space, in a first step we will assign to this

[08:18] un premier temps on va affecter à cet espace mémoire la valeur de cette
  a first step we will assign to this memory space the value of this

[08:20] espace mémoire la valeur de cette adresse c'est à dire 1 par la suite on
  memory space the value of this address, that is to say 1, subsequently we will

[08:22] adresse c'est à dire 1 par la suite on va accéder
  address, that is to say 1, subsequently we will access

[08:24] va accéder à la valeur de cet espace mémoire la
  access the value of this memory space the

[08:26] à la valeur de cet espace mémoire la valeur de cet espace mémoire
  the value of this memory space the value of this memory space

[08:28] valeur de cet espace mémoire c'est-à-dire cette valeur 1
  value of this memory space, that is to say this value 1

[08:31] c'est-à-dire cette valeur 1 et on va mettre quoi dans cette valeur
  that is to say this value 1, and what will we put in this value

[08:33] et on va mettre quoi dans cette valeur donc on va mettre le contenu de cette
  and what will we put in this value, so we will put the content of this

[08:36] donc on va mettre le contenu de cette adresse c'est à dire de et pareil pour y
  so we will put the content of this address, that is to say 2, and similarly for y

[08:39] adresse c'est à dire de et pareil pour y on va mettre dans Y la valeur de la
  address, that is to say 2, and similarly for y, we will put in Y the value of the

[08:41] on va mettre dans Y la valeur de la variable temporaire et de cette façon là
  we will put in Y the value of the temporary variable, and in this way

[08:43] variable temporaire et de cette façon là lorsque cette fonction se termine
  temporary variable, and in this way, when this function ends

[08:47] lorsque cette fonction se termine bien sûr l'espace mémoire de cette
  when this function ends, of course, the memory space of this

[08:49] bien sûr l'espace mémoire de cette fonction sera libérée mais on a effectué
  of course, the memory space of this function will be freed, but we have performed

[08:54] fonction sera libérée mais on a effectué l'échange des valeurs a et de
  function will be freed, but we have performed the exchange of values a and

[08:56] l'échange des valeurs a et de U2 B et ça sur l'une des raisons
  the exchange of values a and U2 B, and this is one of the reasons

[08:58] U2 B et ça sur l'une des raisons derrière l'utilisation des pointeurs et
  U2 B, and this is one of the reasons behind the use of pointers and

[09:02] derrière l'utilisation des pointeurs et bien sûr lorsqu'on manipule les données
  behind the use of pointers, and of course, when we manipulate data

[09:05] bien sûr lorsqu'on manipule les données directement via leur adresse cela permet
  of course, when we manipulate data directly via their address, this allows

[09:07] directement via leur adresse cela permet de rendre l'application très rapide et
  directly via their address, this allows the application to be very fast and

[09:10] de rendre l'application très rapide et voilà donc on s'est déjà que dans le
  to make the application very fast, and there you go, so we already know that in the

[09:13] voilà donc on s'est déjà que dans le domaine de la programmation Langage C++
  So, we already know that in the field of C++ programming,

[09:15] domaine de la programmation Langage C++ sont des langages rapides par rapport à
  the field of C++ programming are fast languages compared to

[09:17] sont des langages rapides par rapport à d'autres langages comme par exemple
  are fast languages compared to other languages like, for example,

[09:18] d'autres langages comme par exemple Python et Java et la raison bien sûr si
  other languages like, for example, Python and Java, and the reason, of course, is if

[09:22] Python et Java et la raison bien sûr si l'utilisation des adresses maintenant
  Python and Java, and the reason, of course, is the use of addresses. Now,

[09:24] l'utilisation des adresses maintenant nous allons passer au cours alors voilà
  the use of addresses. Now we will move on to the course. So, here it is.

[09:26] nous allons passer au cours alors voilà donc
  we will move on to the course. So, here it is, so

[09:27] donc bien sûr lorsqu'on exécute un programme
  so, of course, when we execute a program,

[09:30] bien sûr lorsqu'on exécute un programme comme on a déjà dit donc ce programme là
  of course, when we execute a program, as we already said, so this program

[09:32] comme on a déjà dit donc ce programme là s'exécute dans la mémoire RAM de
  as we already said, so this program executes in the RAM memory of

[09:35] s'exécute dans la mémoire RAM de l'ordinateur alors on peut si vous
  executes in the RAM memory of the computer. So we can, if you

[09:38] l'ordinateur alors on peut si vous voulez donc bien comprendre comment cela
  the computer. So we can, if you want, to understand well how this

[09:41] voulez donc bien comprendre comment cela fonctionne on s'oppose que la mémoire
  want, to understand well how this works, let's assume that the memory

[09:43] fonctionne on s'oppose que la mémoire RAM de l'ordinateur c'est comme la poste
  works. Let's assume that the RAM memory of the computer is like the post office.

[09:45] RAM de l'ordinateur c'est comme la poste alors dans la poste il y a plusieurs
  RAM of the computer is like the post office. So in the post office, there are several

[09:47] alors dans la poste il y a plusieurs cases ou bien la poste on dit que ce
  So in the post office, there are several boxes, or the post office, we say that these are

[09:50] cases ou bien la poste on dit que ce sont des boîtes postales pour chaque
  boxes, or the post office, we say that these are mailboxes for each

[09:52] sont des boîtes postales pour chaque boîte postale il y a une adresse et bien
  are mailboxes. For each mailbox, there is an address, and of course,

[09:55] boîte postale il y a une adresse et bien sûr à l'intérieur de cette adresse il y
  mailbox, there is an address, and of course, inside this address there is

[09:57] sûr à l'intérieur de cette adresse il y a quelque chose alors là on va utiliser
  course, inside this address there is something. So here we will use

[09:59] a quelque chose alors là on va utiliser cette donc cette analogie ou bien cette
  something. So here we will use this, so this analogy or this

[10:02] cette donc cette analogie ou bien cette illustration pour bien comprendre ce qui
  this, so this analogy or this illustration to understand well what

[10:04] illustration pour bien comprendre ce qui se passe réellement lorsqu'on déclare
  illustration to understand well what actually happens when we declare

[10:06] se passe réellement lorsqu'on déclare une variable alors lorsqu'on déclare
  actually happens when we declare a variable. So when we declare

[10:07] une variable alors lorsqu'on déclare normalement une variable normale comme
  a variable. So when we declare, normally, a normal variable like

[10:10] normalement une variable normale comme la variable à alors le programme va
  normally, a normal variable like variable 'a', then the program will

[10:12] la variable à alors le programme va choisir dans cette rampe par exemple
  variable 'a'. Then the program will choose from this RAM, for example,

[10:16] un espace mémoire aléatoire comme par exemple
  a random memory space like for example

[10:20] cet espace là donc avec cette adresse et après on va stocker dans cette adresse la valeur 2
  this space then with this address and after we will store in this address the value 2

[10:28] alors donc ça c'est l'adresse de la variable a lorsqu'on crée un pointeur
  so then this is the address of variable a when we create a pointer

[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
  so to create a pointer already we must add the star operator just before the name we will choose for this pointer subsequently

[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
  the computer also or the program will also choose a random memory space or a random address for example

[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
  this address and of course when we declare a pointer we must necessarily add the address of the variable on which it points

[10:57] par exemple cette variable stockée ici qui est normalement un pointeur il pointe sur cette variable
  for example this variable stored here which is normally a pointer it points to this variable

[11:04] alors là comment faire ça avec langage C
  so now how to do that with C language

[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
  we must add in front just in front of variable a so when we normally do the assignment the address so the ampersand and like that the variable

[11:17] le e-commercial et comme ça la variable P pointe sur la variable a et
  the e-commercial and like that the variable P points to the variable a and

[11:20] P pointe sur la variable a et automatiquement à l'intérieur ou bien
  P points to the variable a and automatically inside or

[11:23] automatiquement à l'intérieur ou bien comme contenu de cette variable on a
  automatically inside or as content of this variable we have

[11:24] comme contenu de cette variable on a quoi on a l'adresse de la variable
  as content of this variable we have what we have the address of the variable

[11:30] voilà donc généralement qu'est-ce que un
  so generally what is a

[11:33] voilà donc généralement qu'est-ce que un pointeur un pointeur c'est tout
  so generally what is a pointer a pointer is just

[11:35] pointeur un pointeur c'est tout simplement une variable qui contient
  a pointer is simply a variable that contains

[11:37] simplement une variable qui contient l'adresse d'une autre variable c'est ça
  simply a variable that contains the address of another variable that's it

[11:38] l'adresse d'une autre variable c'est ça donc la variable ou bien le pointeur P
  the address of another variable that's it so the variable or the pointer P

[11:41] donc la variable ou bien le pointeur P contient l'adresse de la variable
  so the variable or the pointer P contains the address of the variable

[11:43] contient l'adresse de la variable a voilà maintenant on va voir quelques
  contains the address of the variable a so now we will see some

[11:46] a voilà maintenant on va voir quelques opérations si on ajoute cette
  a so now we will see some operations if we add this

[11:47] opérations si on ajoute cette instruction l'adresse d donc c'est
  operations if we add this instruction the address d so it's

[11:50] instruction l'adresse d donc c'est l'indicateur de format et là on met
  instruction the address d so it's the format specifier and there we put

[11:52] l'indicateur de format et là on met étoile P ça signifie quoi signifie qu'on
  the format specifier and there we put star P what does that mean it means that we

[11:55] étoile P ça signifie quoi signifie qu'on va afficher le contenu de la variable
  star P what does that mean it means that we will display the content of the variable

[11:58] va afficher le contenu de la variable sur laquelle il pointe P le contenu de
  will display the content of the variable it points to P the content of

[12:01] sur laquelle il pointe P le contenu de la variable sur laquelle il pointe PC C2
  it points to P the content of the variable it points to PC C2

[12:05] la variable sur laquelle il pointe PC C2 alors tout simplement nous aurons la
  the variable it points to PC C2 so simply we will have the

[12:07] alors tout simplement nous aurons la valeur 2 comme résultat si on affecte
  so simply we will have the value 2 as a result if we assign

[12:09] valeur 2 comme résultat si on affecte cette valeur au contenu de paix c'est
  value 2 as a result if we assign this value to the content of P it's

[12:12] comme on fait quoi c'est comme on affecte à la valeur a la valeur 2
  like we do what it's like we assign to the value a the value 2

[12:13] affecte à la valeur a la valeur 2 c'est-à-dire on va affecter à la
  assign to the value a the value 2 that is to say we will assign to the

[12:18] c'est-à-dire on va affecter à la variable et les pointes P la valeur 85.
  that is to say we will assign to the variable and the pointers P the value 85.

[12:21] alors là désolé là c'est 85 alors là.
  so there sorry there it's 85 so there.

[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é.
  so there sorry there it's 85 so there so the result after the execution of this instruction is what is that the value of the variable a will be changed.

[12:32] c'est-à-dire là on a 85.
  that is to say there we have 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.
  if we try to display the following instructions then the first instruction if we directly display a then directly there it's the value what.

[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.
  it's the value 85 if we display the content of p the content of p that is to say the value of the variable it points to p so then automatically it's always 85.

[12:57] si on affiche l'adresse de A donc ici de faire ça avec quoi De Block.
  if we display the address of A so here to do that with what 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.
  so here to do that with what De Block you will find that this is so normally you will find other addresses for our example in this example there it's the address of the variable as in this case it's an A4.

[13:19] variable as dans ce cas là c'est un A4 voilà si on affiche la valeur de p
  variable as in that case it's an A4 there if we display the value of p

[13:21] voilà si on affiche la valeur de p qu'est-ce que quelle est la valeur de p
  there if we display the value of p what is the value of p

[13:23] qu'est-ce que quelle est la valeur de p à votre œil la valeur de PC tout
  what is the value of p in your opinion the value of PC all

[13:25] à votre œil la valeur de PC tout simplement le contenu de cette case le
  in your opinion the value of PC simply the content of this box the

[13:26] simplement le contenu de cette case le contenu de cette case c'est 1
  simply the content of this box the content of this box is 1

[13:28] contenu de cette case c'est 1 à 4 ou bien avec un autre mot c'est
  content of this box is 1 to 4 or in other words it's

[13:31] à 4 ou bien avec un autre mot c'est l'adresse de la variable sur laquelle il
  to 4 or in other words it's the address of the variable on which it

[13:33] l'adresse de la variable sur laquelle il pointe la variable
  the address of the variable on which it points the variable

[13:36] pointe la variable la dernière chose si on essaye
  points the variable the last thing if we try

[13:38] la dernière chose si on essaye d'afficher l'adresse de paix donc
  the last thing if we try to display the address of p so

[13:40] d'afficher l'adresse de paix donc l'adresse de P c'est tout simplement un
  to display the address of p so the address of P is simply a

[13:42] l'adresse de P c'est tout simplement un B 5 voilà donc j'espère que vous avez
  the address of P is simply a B 5 there so I hope you have

[13:46] B 5 voilà donc j'espère que vous avez bien compris toutes ces instructions
  B 5 there so I hope you have understood all these instructions well

[13:47] bien compris toutes ces instructions comment déclarer d'abord un pointeur et
  understood all these instructions well how to declare a pointer first and

[13:50] comment déclarer d'abord un pointeur et donc ajouter que ce pointeur pointe sur
  how to declare a pointer first and so add that this pointer points to

[13:53] donc ajouter que ce pointeur pointe sur une variable comme par exemple la
  so add that this pointer points to a variable like for example the

[13:55] une variable comme par exemple la variable a donc avec cet instruction on
  a variable like for example the variable a so with this instruction we

[13:57] variable a donc avec cet instruction on peut même utiliser une autre instruction
  variable a so with this instruction we can even use another instruction

[13:59] peut même utiliser une autre instruction vous pouvez au moment de déclaration int
  can even use another instruction you can at the time of declaration int

[14:01] vous pouvez au moment de déclaration int par exemple p affecté AP quoi mettre
  you can at the time of declaration int for example p assigned to p what to put

[14:05] par exemple p affecté AP quoi mettre tout simplement l'adresse de de a donc
  for example p assigned to p what to put simply the address of of a so

[14:08] tout simplement l'adresse de de a donc vous pouvez utiliser ces deux
  simply the address of of a so you can use these two

[14:10] vous pouvez utiliser ces deux instructions ou bien tout simplement
  you can use these two instructions or simply

[14:11] instructions ou bien tout simplement cette instruction alors c'est ça ce
  instructions or simply this instruction so that's what

[14:13] cette instruction alors c'est ça ce qu'on va voir maintenant donc on suppose
  this instruction so that's what we're going to see now so we assume

[14:15] qu'on va voir maintenant donc on suppose qu'on a une autre variable déclarée avec
  that we're going to see now so we assume that we have another variable declared with

[14:17] qu'on a une autre variable déclarée avec la deuxième méthode non Q alors on a
  that we have another variable declared with the second method no Q then we have

[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
  The second method not Q so we declared Q which points to the same variable the variable a so if we want to illustrate this it's like we chose another random address so that means this address and this address always points to the same variable that is this variable so the content of this box is an A4 so we now have two pointers the pointer p and pointer Q which points to the same variable that is this variable there so now we can execute other instructions it's we do for example the content of p - a always when we put the star that is the value of the variable it points to P is always 85 - the value of a is 85 so the value of the variable it points to Q should be this variable there will be changed and what is the value it points to this variable is always this memory box so what is the

[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
  this memory cell so what is the value of this memory cell after the execution of this instruction it's simply zero as you can now deduce we can control the value of a variable either via its direct name or via its pointer for example p in this case or whether in this case if we try to display the following values we try to display the same value of the same variable that is the value of a directly by its name or via their pointer pi or P or well this is an illustration that will help you to understand pointers well you can always make the following analogy you can imagine that the computer's RAM is like the post office and in this post office we have several mailboxes and for each mailbox there is the address of this box and also the content of this box so now you can make the analogy so what is RAM it's simply the set of memory cells and in each memory cell there is an address

[16:23] chaque case mémoire il y a une adresse et pour chaque cadence il y a une valeur
  each memory cell there is an address and for each cadence there is a value

[16:25] et pour chaque cadence il y a une valeur qui est stockée dans cette adresse là
  and for each cadence there is a value that is stored in that address

[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
  that is stored in that address, so I hope you have understood what pointers are

[16:29] voilà donc j'espère que vous avez bien compris qu'est-ce que les pointeurs
  so I hope you have understood what pointers are

[16:31] compris qu'est-ce que les pointeurs alors qu'est-ce qu'on a un pointeur
  understood what pointers are, so what is a pointer

[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
  so what is a pointer, it is simply a variable as I already said that contains the address

[16:34] c'est tout simplement une variable comme j'ai déjà dit qui contient l'adresse d'une autre variable
  it is simply a variable as I already said that contains the address of another 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
  I already said that contains the address of another variable, if a pointer can contain the address of another 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
  of another variable a, we say that P points to a, so this is the definition of a pointer if you want

[16:42] a on dit que P pointe sur a voilà donc ça sent la définition d'un pointeur si vous voulez
  a, we say that P points to a, so this is the definition of a pointer if you want

[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
  definition of a pointer, if you want to always keep or even memorize well what a pointer is, you can

[16:47] toujours garder ou même bien mémoriser qu'est-ce qu'un pointeur vous pouvez toujours revenir à cette phrase de sol
  always keep or even memorize well what a pointer is, you can always go back to this phrase from Saul

[16:49] toujours revenir à cette phrase de sol Goodman dans Breaking Bad qui va vous aider aussi bien encore une fois de
  always go back to this phrase from Saul Goodman in Breaking Bad, which will help you once again to

[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
  Goodman in Breaking Bad, which will help you once again to memorize what a pointer is

[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
  memorize what a pointer is, so now we will move on to basic operators on a pointer

[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
  so now we will move on to basic operators on a pointer, so as we have already explained the two

[16:58] donc comme on a déjà expliqué les deux opérateurs qui sont nécessaires lorsqu'on utilise un pointeur c'est
  so as we have already explained the two operators that are necessary when using a pointer are

[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
  operators that are necessary when using a pointer are the address or the ampersand and also the asterisk

[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
  the address or the ampersand and also the asterisk, so the ampersand allows to get the address of a 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à
  allows to get the address of a variable and the asterisk allows to access the content of an address, so

[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
  variable and the asterisk allows to access the content of an address, so these are the two operators that we use with pointers, so for

[17:07] donc ce sont les deux opérateurs qu'on utilise avec les pointeurs alors pour
  so these are the two operators that we use with pointers, so for

[17:24] utilise avec les pointeurs alors pour créer un point d'or il y a deux méthodes
  used with pointers so to create a gold point there are two methods

[17:26] créer un point d'or il y a deux méthodes soit la première soit la deuxième alors
  create a gold point there are two methods either the first or the second then

[17:28] soit la première soit la deuxième alors la première permet de déclarer aussi
  either the first or the second then the first allows to declare also

[17:30] la première permet de déclarer aussi mettre la variable sur laquelle nous
  the first allows to declare also put the variable on which we

[17:32] mettre la variable sur laquelle nous allons pointer donc c'est à dire à
  put the variable on which we are going to point so that is to say to

[17:35] allons pointer donc c'est à dire à l'aide de cette instruction étoile P
  going to point so that is to say using this instruction star P

[17:36] l'aide de cette instruction étoile P égal l'adresse de a alors
  using this instruction star P equals the address of a then

[17:38] égal l'adresse de a alors automatiquement la variable P ou bien le
  equals the address of a then automatically the variable P or the

[17:40] automatiquement la variable P ou bien le pointeur P pointure a ou bien déclarer
  automatically the variable P or the pointer P points to a or declare

[17:44] pointeur P pointure a ou bien déclarer les deux dans deux lignes séparées et là
  pointer P points to a or declare both on two separate lines and there

[17:45] les deux dans deux lignes séparées et là il faut déclarer pointeur avec l'étoile
  both on two separate lines and there you must declare pointer with the star

[17:48] il faut déclarer pointeur avec l'étoile P et par la suite utiliser directement P
  you must declare pointer with the star P and then use P directly

[17:51] P et par la suite utiliser directement P mettre dans paix l'adresse de a donc
  P and then use P directly put the address of a into P so

[17:54] mettre dans paix l'adresse de a donc c'est ça donc les deux méthodes pour
  put the address of a into P so that's it so the two methods for

[17:56] c'est ça donc les deux méthodes pour déclarer un pointeur
  that's it so the two methods for declaring a pointer

[17:58] déclarer un pointeur alors je vous donne un exemple par
  declare a pointer then I'll give you an example by

[18:00] alors je vous donne un exemple par exemple le son déclare la variable a
  then I'll give you an example for example we declare the variable a

[18:02] exemple le son déclare la variable a nous aurons l'espace mémoire de a et
  example we declare the variable a we will have the memory space of a and

[18:05] nous aurons l'espace mémoire de a et dans cet espace on a la valeur 8 et par
  we will have the memory space of a and in this space we have the value 8 and by

[18:07] dans cet espace on a la valeur 8 et par la suite lorsqu'on déclare le pointeur P
  in this space we have the value 8 and subsequently when we declare the pointer P

[18:11] la suite lorsqu'on déclare le pointeur P c'est comme on met dans T l'adresse de a
  subsequently when we declare the pointer P it's like we put the address of a into T

[18:14] c'est comme on met dans T l'adresse de a et automatiquement P pointe sur la
  it's like we put the address of a into T and automatically P points to the

[18:17] et automatiquement P pointe sur la variable a ou bien le contenu maintenant
  and automatically P points to the variable a or the content now

[18:20] variable a ou bien le contenu maintenant si on met l'étoile P de ce pointeur
  variable a or the content now if we put star P of this pointer

[18:23] si on met l'étoile P de ce pointeur c'est 8 et voilà donc ça c'est un
  if we put star P of this pointer it's 8 and there so that's a

[18:25] c'est 8 et voilà donc ça c'est un exemple qui illustre qu'est-ce que se
  it's 8 and there you go so this is an example that illustrates what is

[18:27] exemple qui illustre qu'est-ce que se passe lorsqu'on déclare un pointeur
  example that illustrates what happens when we declare a pointer

[18:29] passe lorsqu'on déclare un pointeur maintenant on va passer à notre premier
  happens when we declare a pointer now we will move on to our first

[18:31] maintenant on va passer à notre premier exercice on suppose qu'on a plusieurs
  now we will move on to our first exercise we assume we have several

[18:33] exercice on suppose qu'on a plusieurs variables A et B et C et de pointeur P1
  exercise we assume we have several variables A and B and C and pointers P1

[18:35] et P2 on va essayer de donner les
  and P2 we will try to give the

[18:38] et P2 on va essayer de donner les valeurs après chaque instruction on
  and P2 we will try to give the values after each instruction we

[18:40] valeurs après chaque instruction on commence avec la première instruction
  values after each instruction we start with the first instruction

[18:41] commence avec la première instruction lorsqu'on met P1 reçoit l'adresse de a
  start with the first instruction when we put P1 receives the address of a

[18:45] lorsqu'on met P1 reçoit l'adresse de a c'est comme on met un pointeur sur la
  when we put P1 receives the address of a it's like we put a pointer on the

[18:48] c'est comme on met un pointeur sur la variable
  it's like we put a pointer on the variable

[18:50] variable maintenant P1 pointe sur la variable a
  variable now P1 points to variable a

[18:53] maintenant P1 pointe sur la variable a et automatiquement dans P1 nous avons
  now P1 points to variable a and automatically in P1 we have

[18:56] et automatiquement dans P1 nous avons quoi nous avons l'adresse de la variable
  and automatically in P1 we have what we have the address of the variable

[18:58] quoi nous avons l'adresse de la variable a après nous passons à cette instruction
  what we have the address of variable a after we move on to this instruction

[19:01] a après nous passons à cette instruction là on a tout simplement un autre
  a after we move on to this instruction there we simply have another

[19:02] là on a tout simplement un autre pointeur qui pointe cette fois sur la
  there we simply have another pointer that points this time to the

[19:04] pointeur qui pointe cette fois sur la variable C à leur nom P2 nous avons quoi
  pointer that points this time to variable C at their name P2 we have what

[19:06] variable C à leur nom P2 nous avons quoi là nous avons l'adresse de la variable
  variable C at their name P2 we have what there we have the address of the variable

[19:08] là nous avons l'adresse de la variable c'est maintenant nous passons à cet
  there we have the address of variable c is now we move on to this

[19:10] c'est maintenant nous passons à cet instruction cette instruction permet
  is now we move on to this instruction this instruction allows

[19:12] instruction cette instruction permet d'abord d'accéder au contenu de P2 le
  instruction this instruction first allows access to the content of P2 the

[19:15] d'abord d'accéder au contenu de P2 le contenu de P2 c'est le contenu de la
  first allows access to the content of P2 the content of P2 is the content of the

[19:17] contenu de P2 c'est le contenu de la variable sur laquelle il pointe P2
  content of P2 is the content of the variable it points to P2

[19:20] variable sur laquelle il pointe P2 c'est-à-dire 6 c'est-à-dire 3 après
  variable it points to P2 that is to say 6 that is to say 3 after

[19:22] c'est-à-dire 6 c'est-à-dire 3 après l'affectation cette valeur sera
  that is to say 6 that is to say 3 after the assignment this value will be

[19:24] l'affectation cette valeur sera incrémentée c'est-à-dire que après
  the assignment this value will be incremented that is to say that after

[19:26] incrémentée c'est-à-dire que après l'exécution de cette instruction la
  incremented that is to say that after the execution of this instruction the

[19:28] l'exécution de cette instruction la valeur 3 passera à 4 mais avant
  the execution of this instruction the value 3 will become 4 but before

[19:32] valeur 3 passera à 4 mais avant d'incrémenter on va affecter quoi on va
  value 3 will become 4 but before incrementing we will assign what we will

[19:34] d'incrémenter on va affecter quoi on va affecter à P1 le contenu de P2
  increment we will assign what we will assign to P1 the content of P2

[19:36] affecter à P1 le contenu de P2 c'est-à-dire on va affecter à la valeur
  assign to P1 the content of P2 that is to say we will assign to the value

[19:39] c'est-à-dire on va affecter à la valeur sur laquelle il pointe P1 c'est-à-dire
  that is to say we will assign to the value it points to P1 that is to say

[19:42] sur laquelle il pointe P1 c'est-à-dire la valeur de a la valeur 3
  it points to P1 that is to say the value of a the value 3

[19:45] la valeur de a la valeur 3 et après l'exécution de cette
  the value of a the value 3 and after the execution of this

[19:46] et après l'exécution de cette instruction nous avons la 3 et là on a
  and after the execution of this instruction we have 3 and there we have

[19:49] instruction nous avons la 3 et là on a quatre puisque donc l'opérateur
  instruction we have 3 and there we have four because therefore the increment operator

[19:51] quatre puisque donc l'opérateur d'incrémentation c'est après la variable
  four because therefore the increment operator is after the variable

[19:53] d'incrémentation c'est après la variable maintenant nous passons à cette
  increment is after the variable now we move on to this

[19:54] maintenant nous passons à cette instruction alors tout simplement là on
  now we move on to this instruction so simply here we will

[19:56] instruction alors tout simplement là on va affecter à P1 P2 ça signifie quoi
  instruction so simply here we will assign to P1 P2 what does that mean

[19:59] va affecter à P1 P2 ça signifie quoi signifie que le contenu de P1 sera
  assign to P1 P2 what does that mean it means that the content of P1 will be

[20:03] signifie que le contenu de P1 sera changé par
  it means that the content of P1 will be changed by

[20:05] changé par cette valeur c'est à dire là on a quoi
  changed by this value that is to say here we have what

[20:07] c'est à dire là on a quoi on a l'adresse de C et automatiquement
  that is to say here we have what we have the address of C and automatically

[20:09] on a l'adresse de C et automatiquement maintenant P1 point sur la variable
  we have the address of C and automatically now P1 points to the variable

[20:12] maintenant P1 point sur la variable c'est comme P2 ne passons maintenant à
  now P1 points to the variable it's like P2 let's move on now to

[20:15] c'est comme P2 ne passons maintenant à cette instruction alors là on fait quoi
  it's like P2 let's move on now to this instruction so what do we do here

[20:17] cette instruction alors là on fait quoi on va affecter à P2 l'adresse de B2
  this instruction so what do we do here we will assign to P2 the address of B2

[20:19] on va affecter à P2 l'adresse de B2 l'adresse de B2 c'est-à-dire l'adresse
  we will assign to P2 the address of B2 the address of B2 that is to say the address

[20:21] l'adresse de B2 c'est-à-dire l'adresse de cette variable alors maintenant P2
  the address of B2 that is to say the address of this variable so now P2

[20:25] de cette variable alors maintenant P2 pointe sur la variable
  of this variable so now P2 points to the 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]
