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
#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.
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
solution.cpp
Tout était clair ?
Merci pour vos commentaires !