Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Allocation Dynamique du Tableau | Allocation Dynamique de Mémoire
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C++ Pointeurs et Références

bookAllocation Dynamique du Tableau

Avant d'examiner pourquoi l'allocation dynamique est nécessaire, passons en revue rapidement les caractéristiques des tableaux statiques et dynamiques:

  • Taille fixe : Une fois déclaré, la taille d'un tableau statique est fixe et ne peut pas être modifiée pendant l'exécution;
  • Allocation de mémoire à la compilation : La mémoire requise pour un tableau statique est allouée lors de la compilation.
  • Redimensionnable: Les tableaux dynamiques permettent le redimensionnement pendant l'exécution, offrant une flexibilité pour s'adapter aux exigences changeantes du programme;
  • Allocation de mémoire à l'exécution: La mémoire pour les tableaux dynamiques est allouée pendant l'exécution du programme.

Les limites d'une approche statique

Considérons le programme qui demande à l'utilisateur de saisir les notes de performance pour chaque jour qui s'est écoulé dans le mois en cours.

Malheureusement, nous ne pouvons pas atteindre cela en utilisant un tableau statique:

main.cpp

main.cpp

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Note

Cela générera une erreur de compilation error car day_passed is not a constant expression et dépend de la valeur d'exécution du jour actuel du mois.

Ainsi, au lieu d'un tableau static nous devons utiliser un tableau dynamic allocated.

Tâche

Swipe to start coding

  • Créez un tableau dynamique avec une taille équivalente au nombre de jours écoulés.
  • Libérez la mémoire allouée.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 3
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain why static arrays can't handle this scenario?

What are the advantages of using dynamic arrays in this case?

Can you provide an example of how to implement a dynamic array for this problem?

close

bookAllocation Dynamique du Tableau

Glissez pour afficher le menu

Avant d'examiner pourquoi l'allocation dynamique est nécessaire, passons en revue rapidement les caractéristiques des tableaux statiques et dynamiques:

  • Taille fixe : Une fois déclaré, la taille d'un tableau statique est fixe et ne peut pas être modifiée pendant l'exécution;
  • Allocation de mémoire à la compilation : La mémoire requise pour un tableau statique est allouée lors de la compilation.
  • Redimensionnable: Les tableaux dynamiques permettent le redimensionnement pendant l'exécution, offrant une flexibilité pour s'adapter aux exigences changeantes du programme;
  • Allocation de mémoire à l'exécution: La mémoire pour les tableaux dynamiques est allouée pendant l'exécution du programme.

Les limites d'une approche statique

Considérons le programme qui demande à l'utilisateur de saisir les notes de performance pour chaque jour qui s'est écoulé dans le mois en cours.

Malheureusement, nous ne pouvons pas atteindre cela en utilisant un tableau statique:

main.cpp

main.cpp

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Note

Cela générera une erreur de compilation error car day_passed is not a constant expression et dépend de la valeur d'exécution du jour actuel du mois.

Ainsi, au lieu d'un tableau static nous devons utiliser un tableau dynamic allocated.

Tâche

Swipe to start coding

  • Créez un tableau dynamique avec une taille équivalente au nombre de jours écoulés.
  • Libérez la mémoire allouée.

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 3
single

single

some-alt