Points importants de la semaine Les allocations programmées de mémoire. Les enregistrements.
Rappel : les allocations programmées Comment réalise-t-on une allocation programmée en C ? Réponse : À laide de la fonction malloc (ou encore des fonctions calloc ou realloc ).
Rappel : les allocations programmées Suite à une allocation programmée, à quoi faut-il être très attentif ? Réponse : Il faut prendre grand soin de ne pas perdre ladresse du bloc alloué. Sinon, il se produit ce que lon nomme une « fuite de mémoire » et le bloc alloué ne sera libéré quà la fin du programme.
Rappel : les allocations programmées Comment libère-t-on un bloc de mémoire alloué par allocation programmée en C ? Réponse : À laide de la fonction free.
Rappel : les allocations programmées Vrai ou faux : Le nombre dallocation 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 à lagrégat dun ou plusieurs types de données. Quest-ce quun enregistrement ?
Rappel : les enregistrements Réponse : Les éléments dun 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. Quest-ce qui différencie un tableau dun 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. = : Lopérateur dassignation. sizeof() : La taille en octets. & : Ladresse 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 lexpression suivante soit syntaxiquement correcte ptr->nom Réécrivez cette expression sans utiliser lopérateur ->.
Rappel : les enregistrements Réponse : Lorsque lenregistrement conserve ladresse dun 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 lutilisation de lopérateur = pour copier un enregistrement comporte-t-elle des risques ?
Maintenant, place à la partie pratique! Cest tout pour la partie théorique de la semaine # 10.