Allocation 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
12345678910#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(¤tTime)->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.
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
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 5.88
Allocation 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
12345678910#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(¤tTime)->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.
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
Merci pour vos commentaires !
single