Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Allocation Dynamique de Pointeur à Pointeur | Allocation Dynamique de Mémoire
C++ Pointeurs et Références
course content

Contenu du cours

C++ Pointeurs et Références

C++ Pointeurs et Références

1. Fondamentaux des Pointeurs
2. Arithmétique des Pointeurs
3. Fondamentaux des Références
4. Allocation Dynamique de Mémoire

book
Allocation Dynamique de Pointeur à Pointeur

Un pointeur vers pointeur, noté double pointeur (**).

C'est un pointeur qui contient l'adresse mémoire d'un autre pointeur. En d'autres termes, c'est une variable dont la valeur est l'adresse d'un autre pointeur. Ce concept peut sembler complexe au début, mais il offre un mécanisme puissant pour gérer l'allocation dynamique de mémoire avancée.

Syntaxe

cpp

main

copy
12345678910111213
#include <iostream> int main() { int x = 10; int *ptr1 = &x; int **ptr2 = &ptr1; // Accessing values using double pointer std::cout << "Location of ptr2: " << ptr2 << std::endl; std::cout << "Location of ptr1: " << *ptr2 << std::endl; std::cout << "Value of x: " << **ptr2 << std::endl; }
  • ptr1: est un pointeur vers un entier (int*);
  • ptr2: est un double pointeur vers un entier (int**).

Allocation dynamique d'un tableau à deux dimensions

Si vous souhaitez créer dynamiquement (à l'exécution) un tableau à deux dimensions, vous devez utiliser un pointeur vers un pointeur pour les lignes.

Ensuite, initialisez chaque ligne avec un tableau dynamique (comme dans le chapitre précédent)

Tâche

Swipe to start coding

  • Allouer dynamiquement un tableau à deux dimensions.
  • Allouer dynamiquement les tableaux en tant qu'éléments.
  • Libérer toute la mémoire allouée.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
toggle bottom row

book
Allocation Dynamique de Pointeur à Pointeur

Un pointeur vers pointeur, noté double pointeur (**).

C'est un pointeur qui contient l'adresse mémoire d'un autre pointeur. En d'autres termes, c'est une variable dont la valeur est l'adresse d'un autre pointeur. Ce concept peut sembler complexe au début, mais il offre un mécanisme puissant pour gérer l'allocation dynamique de mémoire avancée.

Syntaxe

cpp

main

copy
12345678910111213
#include <iostream> int main() { int x = 10; int *ptr1 = &x; int **ptr2 = &ptr1; // Accessing values using double pointer std::cout << "Location of ptr2: " << ptr2 << std::endl; std::cout << "Location of ptr1: " << *ptr2 << std::endl; std::cout << "Value of x: " << **ptr2 << std::endl; }
  • ptr1: est un pointeur vers un entier (int*);
  • ptr2: est un double pointeur vers un entier (int**).

Allocation dynamique d'un tableau à deux dimensions

Si vous souhaitez créer dynamiquement (à l'exécution) un tableau à deux dimensions, vous devez utiliser un pointeur vers un pointeur pour les lignes.

Ensuite, initialisez chaque ligne avec un tableau dynamique (comme dans le chapitre précédent)

Tâche

Swipe to start coding

  • Allouer dynamiquement un tableau à deux dimensions.
  • Allouer dynamiquement les tableaux en tant qu'éléments.
  • Libérer toute la mémoire allouée.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt