Documente Academic
Documente Profesional
Documente Cultură
STRUCTURES ET FONCTIONS C
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Plan de la leon
Structures Unions Fonctions
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
STRUCTURES
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Dfinition
Un nouveau type utilisateur typedef struct _article { int code; char design[25]; float prixUnit; int quantite; } article;
article est quivalent struct _article article tv, *p;
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Dfinition
Variable
struct article tv ;
tv
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
tv . code =23798;
prixUnit tv
989.50
23798
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
23798
Prof. A. EL FAKER
989.50
23798
copie
989.50
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Unions
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Unions
Tous les membres sont implants la mme adresse union OV { char op ; float val ; } ov ;
ov 0
op
val 42
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Unions
Structure avec partie variante struct U{ boolean isOp; union{ char op ; float val ; } opVal; opVal }u;
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Accs
u.isOp = true; u.opVal.op =+
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Exercice
Dfinir un point dans le plan laide de ses deux reprsentations :
Polaire : (rho, theta) Cartsienne : (re, im) M
im
re
Dclarer le point
M(rho=PI/3, theta=2)
Prof. A. EL FAKER
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
FONCTIONS
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Dfinition
int f(int a, int b) { int x; x = a*b; return x; Prototype
Corps
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Dfinition
int f(int a, int b) f est une adresse f ne peut tre dfinie lintrieur dune autre fonction
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Prototype
Dclarer un prototype sans corps?
Avertir le compilateur La fonction est dfinie dans un autre fichier ou plus loin dans le mme fichier
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Prototype
Prototype complet int recherche(int tab[ ], int n, int x); Facilite la documentation pour le programmeur
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Type de retour
{ } int x = a*b; return x;
return spcifie la fois la fin de la fonction courante et attribue comme valeur cette fonction la valeur de l'expression exp
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Type de retour
void int
Ne renvoie aucune valeur Par dfaut
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Type de retour
int [] Pas de tableau Pas de fonction Pas de structure
Mais peut tre un pointeur
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Passage de paramtres
Pour permettre la modification d'un objet on doit passer son adresse et non une copie de sa valeur
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Passage de paramtres
Transmission par adresse void echange(int *a, int *b){ int c =*a; *a=*b; *b=c;} main(){ int n=10, m=20; echange(&n,&m); }
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
10 20 20 10
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Passage de paramtres
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Les macro-fonctions
#define MIN(a,b) (a<b)? a : b
Substitu par le prprocesseur lutilisation
int y=MIN(x,0);
int y=(x<0)? x : 0;
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Les macro-fonctions
Points forts Pratique Rapide Les mcanismes dappel et de retour de fonction ne sont pas mis en oeuvre
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Structures de donnes
Leon n 1 Introduction et C : Structures et fonctions n. 4 Complments vue densemble
Les macro-fonctions
Points faibles Mise au point et maintenance difficiles
Prof. A. EL FAKER
ENSIAS - UNIVERSITE MOHAMMED V SOUISSI