FLSI602 Génie Informatique et Réseaux

Slides:



Advertisements
Présentations similaires
GEF 243B Programmation informatique appliquée Listes chaînées I – Tableaux de structures §15.1 – 15.2.
Advertisements

GEF 243B Programmation informatique appliquée
Introduction au Langage C,C++
Introduction Langage très répandu Noyau Linux VLC … Des avantages indéniables mais aussi des contraintes ! Ceci nest quun rapide tour.
Rappels C.
Formation C débutant. Notion de compilation source.c executable Phase de compilation Fichier de texte brut, inexploitable directement par la machine Fichier.
ACTIVITES Le calcul littéral (3).
GEF 243B Programmation informatique appliquée Structures §12.3.
GEF 243B Programmation informatique appliquée Listes chaînées II §15.1 – 15.2.
GEF 243B Programmation informatique appliquée
GEF 243B Programmation informatique appliquée
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Tableaux et pointeurs §10.1.
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.
C.
Défi écriture BEF Couverture. Défi écriture BEF Page 1.
Programmation Orientée Objet (POO)
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Structures et unions types énumérés Qu'est-ce qu'une structure
Les pointeurs Manipulation d'adresses et de ce qui est contenu dans ces adresses Très important, fondamental même en C mauvaise réputation : 'dur à comprendre',
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
B.Shishedjiev - Informatique II
2ième Classe (Mercredi, 13 Octobre) C++ Intro CSI2572.
II. Chaînage, SDD séquentielles
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que lon veut allouer. Le premier exemple: #include void main()
TRAITEMENT DE STRUCTURES
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
Les tris.
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
IFT-2000: Structures de données
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Les enregistrements (struct) suite. Struct Rappel Enregistrement : Suite de données pouvant être de types différents, accessibles via une seule variable.
Points importants de la semaine Les allocations programmées de mémoire. Les enregistrements.
Un langage de programmation hybride
Notre calendrier français MARS 2014
8PRO100 Éléments de programmation Les types composés.
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Veuillez trouver ci-joint
C++ : variables Déclaration de variables
Plan cours La notion de pointeur et d’adresse mémoire.
Structures des données
Le langage C Structures de données
1 Modèle pédagogique d’un système d’apprentissage (SA)
2.1 - Historique Chapitre 2 : Introduction au langage C++
Les pointeurs L'opérateur &.
Le langage C Rappel Pointeurs & Allocation de mémoire.
Ch. PAUL - Piles et Files à l'aide de listes chainées
CALENDRIER-PLAYBOY 2020.
LES PILES ET FILES.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Notions de pointeurs en C
Labo II : Tableaux et pointeurs
La notion de type revisitée en POO
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
Relevez le numéro de votre logo préféré et adressez-le à : En cas d’hésitation, vous pouvez choisir jusqu’à 3 logos. Seront pris.
Argc et argv Utilisation des paramètres de la ligne de commande.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que l’on veut allouer. Le premier exemple: #include void main()
Les types composés Les enregistrements.
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Cours de Langage C Les structures
Transcription de la présentation:

FLSI602 Génie Informatique et Réseaux Alberto Bosio alberto.bosio@lirmm.fr www.lirmm.fr/~bosio/FLSI602

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;

Les structures … }

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

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

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 , “+3306569874”); agenda[0].age = 27;

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

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

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

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 , “+3306569874”); agenda[1].age = 27; repertoire messieurs[3]; // variable messieurs 1 2 nom adresse telephone age

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 , “+3306569874”); agenda[1].age = 27; repertoire messieurs[3]; // variable messieurs 1 2 “Dupont” “35,rue exemple” “+3306569874” 27 nom adresse telephone age

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;

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);

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;

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;

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

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

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

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.

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