La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

FLSI602 Génie Informatique et Réseaux

Présentations similaires


Présentation au sujet: "FLSI602 Génie Informatique et Réseaux"— Transcription de la présentation:

1 FLSI602 Génie Informatique et Réseaux
Alberto Bosio

2 Les structures #include <string.h> int age; } mere,pere;
Une généralisation de la notion de tableaux #include <string.h> int age; } mere,pere;

3 Les structures }

4 Les structures int age; } personne_t;
Une généralisation de la notion de tableaux int age; } personne_t;

5 Les structures printf (" mere : age %d , nom % s\n", mere.age, mere.nom); }

6 Les structures typedef struct repertoire { char nom[50+1];
Un tableau de structures typedef struct repertoire { char nom[50+1]; char adresse[50+1]; char telephone[50+1]; int age } repertoire_t; repertoire_t agenda[5]; strcpy (agenda[0].nome , “Dupont”); strcpy (agenda[0].adresse , “35, rue exemple”); strcpy (agenda[0].telephone , “ ”); agenda[0].age = 27;

7 Exemple repertoire_t monsieur; /* variable */ monsieur nom adresse
telephone age

8 Exemple “Dupont” “+3306569874” repertoire_t monsieur; /* variable */
“35,rue exemple” “ ” 27 nom adresse telephone age strcpy (agenda[0].nome , “Dupont”); strcpy (agenda[0].adresse , “35, rue exemple”); strcpy (agenda[0].telephone , “ ”); agenda[0].age = 27;

9 Exemple repertoire_t messieurs[3]; /* variable */ messieurs 1 2 nom
1 2 nom adresse telephone age

10 Exemple repertoire messieurs[3]; // variable messieurs 1 2 nom adresse
strcpy (agenda[1].nome , “Dupont”); strcpy (agenda[1].adresse , “35, rue exemple”); strcpy (agenda[1].telephone , “ ”); agenda[1].age = 27; repertoire messieurs[3]; // variable messieurs 1 2 nom adresse telephone age

11 Exemple repertoire messieurs[3]; // variable messieurs 1 2 “Dupont”
strcpy (agenda[1].nome , “Dupont”); strcpy (agenda[1].adresse , “35, rue exemple”); strcpy (agenda[1].telephone , “ ”); agenda[1].age = 27; repertoire messieurs[3]; // variable messieurs 1 2 “Dupont” “35,rue exemple” “ ” 27 nom adresse telephone age

12 Les structures Imbrication de structures et tableaux
typedef struct Couple { Personne_t membre[2]; int statut }couple_t; couple_t X; X.membre[0] = pere; X.membre[1] = mere; X.statut = 1; /* MARIE */ X.membre[0].age = X.membre[0].age + 1;

13 Les structures Modes de transmission
Par valeur : une copie champ à champ est réalisée Par référence/adresse : plus rapide void affiche1(personne_t p) { /* p est une copie du point passé en argument */ printf (" p : age %d , nom % s\n", p.age, p.nom); } void affiche2(personne_t *p) { printf (" p : age %d , nom % s\n", (*p).age, (*p).nom);

14 Allocation dynamique de structures
typedef struct Point { int x; int y; } point_t; point_t A; A.x = 3; A.y = 5; point_t *pA; /* Déclaration d’un pointeur */ pA = (point_t*) malloc (sizeof (point_t)); /* Allocation dynamique */ pA->x = 7; pA->y = 3;

15 Allocation dynamique de structures
Operatuer « -> » Équivalent a l’operatuer « * » (*pA).x = 7; (*pA).y = 3; typedef struct Point { int x; int y; } point_t; point_t A; A.x = 3; A.y = 5; point_t *pA; /* Déclaration d’un pointeur */ pA = (point_t*) malloc (sizeof (point_t)); /* Allocation dynamique */ pA->x = 7; pA->y = 3;

16 Allocation dynamique de structures
point_t *pB; /* Copie de pointeur */ pB = pA; pB->y = pB->x + 1;

17 Allocation dynamique de structures
pA = &A; /* Affectation statique */ pA->x = 1; (*pA).y = A.y - 1;

18 Allocation dynamique de structures
free (pA); /* Libération de mémoire */ pA = pB = 0;

19 Exercice On veut mémoriser des informations relatives aux employés d'une entreprise. Chaque employé est caractérisé par <Code Employé> <nom> <prénom> Pour chaque employé il faut mémoriser le nombre m de semaine de travail de l’année. Pour chaque semaine il faut mémoriser la nombre de jour de travail dans la semaine. Pour chaque jour de travail il faut mémoriser le nombre d’heure de travail.

20 Exercice Nombre de semaines de travail est un entier entre 1 et 52
Nombre de jours de travail est un entier entre 1 et 7 Nombre d’heures de travail par jour est un entier entre 1 et 24


Télécharger ppt "FLSI602 Génie Informatique et Réseaux"

Présentations similaires


Annonces Google