« Introduction au langage C/Allocation dynamique de mémoire » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- s'appelle + s’appelle )
m Robot : Remplacement de texte automatisé (- d'utiliser + d’utiliser )
Ligne 12 :
On utilise beaucoup plus souvent l'allocation ''automatique'' (où c’est le programme qui se charge de tout) que l'allocation ''dynamique'', mais cela s'avère parfois être l'unique solution.
 
Un exemple d'allocation automatique serait la déclaration d'une variable, le programme alloue de la mémoire à la déclaration de la variable et à la fin du bloc la variable est automatiquement supprimée par le programme. Ceci est très pratique pour les types de bases mais lorsque il peut être intéressant d'utiliserd’utiliser l'allocation dynamique pour créer des tableaux d'une taille indéfinie lors de l'exécution du programme.
 
Un exemple d’utilisation de l'allocation dynamique : vous souhaitez que l'utilisateur entre une série de chiffres, mais ne savez pas combien d'éléments comportera cette série. Vous pourriez préparer un certain nombre de places ''n'', et occuper uniquement celles qui vous servent — mais cela vous limiterait à ''n'' entrées, et utiliserait de toute manière la place mémoire pour ''n'' données. L'allocation dynamique de mémoire vous permet de redéfinir la taille du tableau en cours d'exécution, d'ajouter ou supprimer des entrées, sans limites ou presque.
Ligne 29 :
Tous les types de variables occupent une certaine place en mémoire, une quantité d'espace qui s'exprime en octets. Selon que vous créez une variable de type <code>short</code> ou de type <code>int</code>, vous avez ainsi besoin de plus ou moins de mémoire. De plus, selon le système considéré, un même type peut occuper une place différente.
 
Pour connaître la place que prend en mémoire un certain système, il suffit d'utiliserd’utiliser l'opérateur <code>'''sizeof'''</code>.
 
Par exemple pour connaître la taille d'un <code>int</code> sur le système il vous suffit de faire: