View
110
Download
0
Category
Preview:
Citation preview
Points importants de la semaine
Les allocations programmées de mémoire.
Les enregistrements.
Rappel : les allocationsprogrammées
Comment réalise-t-on une allocation programmée en C ?
Réponse :
À l’aide de la fonction malloc (ou encore des fonctions calloc ou realloc).
Rappel : les allocationsprogrammées
Suite à une allocation programmée, à quoi faut-il être très attentif ?
Réponse :
Il faut prendre grand soin de ne pas perdre l’adresse du bloc alloué. Sinon, il se produit ce que l’on nomme une « fuite de mémoire » et le bloc alloué ne sera libéré qu’à la fin du programme.
Rappel : les allocationsprogrammées
Comment libère-t-on un bloc de mémoire alloué par allocation programmée en C ?
Réponse :
À l’aide de la fonction free.
Rappel : les allocationsprogrammées
Vrai ou faux : Le nombre d’allocation programmée de mémoire dans un programme doit toujours être supérieur ou égal au nombre de libération.
Réponse :
Faux.
Il doit toujours être égal au nombre de libération.
Rappel : les enregistrements
Réponse :Un enregistrement (ou struct en C) est un type de données qui correspond à l’agrégat d’un ou plusieurs types de données.
Qu’est-ce qu’un enregistrement ?
Rappel : les enregistrements
Réponse :•Les éléments d’un tableau doivent tous être de même type.•Les opérations permises sur un enregistrement ne sont pas les mêmes que sur un tableau.
Qu’est-ce qui différencie un tableau d’un enregistrement ?
Rappel : les enregistrements
Réponse :typedef struct
{
int jour, mois, annee;
} t_date;
Comment ferait-on pour définir un enregistrement t_date comportant les champs jour, mois et année ?
Rappel : les enregistrements
Réponse :
. : Pour accéder à un champs.
= : L’opérateur d’assignation.
sizeof() : La taille en octets.
& : L’adresse en mémoire.
En C, quels sont les 4 opérateurs qui acceptent un enregistrement comme opérande ?
Rappel : les enregistrements
Réponse :
(*ptr).nom
En supposant que l’expression suivante soit syntaxiquement correcte
ptr->nom
Réécrivez cette expression sans utiliser l’opérateur ->.
Rappel : les enregistrements
Réponse :
Lorsque l’enregistrement conserve l’adresse d’un bloc de mémoire alloué par allocation programmée. Cela risque de causer des fuites de mémoires ou encore une copie superficielle (« shallow copy »).
Quand l’utilisation de l’opérateur = pour copier un enregistrement comporte-t-elle des risques ?
Maintenant, place à la partie pratique!
C’est tout pour la partie théorique de la semaine # 10.
Recommended