les fonctions
ensemble des instructions / morceau de code qui permet dâeffectuer une tĂąche prĂ©cise
les avantages des fonctions
facile à débugger / organise un programme / réutilisable
type de retour
void = rien / autres = type de variable
nom de fonction
propre à chacune / décrit la fonction
paramĂštre formel
liste de dĂ©claration des variables dont chacun est associĂ© son type , ils sont initialisĂ©s automatiquement ( cette liste peut ĂȘtre vide
les corps de la fonction
une suite des instructions pour réaliser un sous-programme
les fonctions de type non-void
chaque branche dâexĂ©cution doit ĂȘtre terminĂ©e par âreturnâ
la mémoire
une succession dâoctets
octet
contient 8 bits et possĂšde une adresse
bits
Peut ĂȘtre 0 ou 1
le premier octet
a pour adresse 1
lors de la dĂ©claration dâune variable
un espace de la mémoire est alloué automatiquement
la taille de lâespace mĂ©moire
dĂ©pend de son type , un processeur , systĂšme dâexploitation et la version du compilateur et donnĂ© par âsizeofâ
printf(âsizeof(typeâ)=%d\nâ,sizeof(type))
permet de récupérer et afficher la taille des différents types de donnés en c
un pointeur
est une variable qui contient lâadresse de la zone de la mĂ©moire , il doit toujours ĂȘtre initialisĂ© Ă NULL
NULL
la valeur du pointeur qui ne pointe vers aucune variable
â&â placĂ© devant le nom dâune variable
retourne son adresse
lâadresse dâune variable
correspond Ă lâadresse du premier octet de son espace mĂ©moire
â*â placĂ© devant le nom dâun pointeur
permet dâobtenir la valeur situĂ©e Ă lâadresse pointĂ©e par ce dernier
phrase magique
le nom dâun tableau est un pointeur sur son premier Ă©lĂ©ment
&(tab[0]);
tab;
tab[0]=5;
*tab=5;
tab[ i ];
*(tab+i);
les structures
un type composĂ© de plusieurs variables appelĂ©s âchampsâ
dĂ©claration dâune structure
struct nom
dĂ©claration dâune variable
struct nomdelastructure nomdelavariable
initialisation dâune variable
dĂ©claration={valeur1;valeur2;âŠ..}
accĂ©der un champs dâune structure
nomdelavariable . nomduchamps
Typedef
renommer une structure ( créer un alias )
(*pointeur).champs=valeur;
pointeurâchamps=valeur;
variable statique
variable locale dont le contenu persiste entre deux appels de fonction
variable globale
existe durant toute lâexĂ©cution du programme avec la quantitĂ© de mĂ©moire est connue des la compilation
allocation dynamique automatique
la rĂ©servation et la libĂ©ration de la mĂ©moire est automatique pendant lâexĂ©cution du programme
allocation dynamique manuelle
la rĂ©servation et la libĂ©ration de la mĂ©moire est explicite via un appel de fonction pendant lâexĂ©cution du programme
les variables globales
ont une quantité de mémoire fixe
la liste des instructions
est fixe
certaines variables
sont nécessaires que temporairement
lâappel dâune fonction
consomme de mĂ©moire jusquâa la fin de son exĂ©cution
la memoire ponctuelle
est demandĂ©e que pour des paramĂštres non connus Ă lâavance
le programme
contient la suite des instructions à exécuter
les donnés et les constantes
des variables globales et statiques
la pile
contient la mémoire allouée automatiquement
le tas
contient la mémoire allouée manuellement
la mémoire
elle forme un bloc dâoctets contigus et sĂ©parĂ©e en diffĂ©rents groupes fonctionnels
la fonction malloc
elle permet de réserver un espace en mémoire avec une taille en octet
la fonction calloc
elle permet de rĂ©server un espace en mĂ©moire et lâinitialise Ă 0
la fonction free
elle permet de libérer un espace mémoire réserver au préalable
la fonction realloc
elle permet de changer la taille du bloc mémoire alloué