![Page 1: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/1.jpg)
1
la programmation en langage Cla programmation en langage C
![Page 2: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/2.jpg)
2
ClassificationClassification
Program m ationProcedurale
Ada, Pascal, C
Program m ationOrientee Objets
C++, Java
Program m ationConcurrente
Ada 95
LanguagesIm peratifs
Program m ationFonctionelle
LISP, SCHEME
Program m ationLogique
PROLOG
LanguagesDeclaratifs
Tous les Languagesde Program m ation
Languages Imperatifs: Langages incluant des moyens pour le programmeur d ’attribuer des valeurs a des locations en mémoire.Languages Declaratifs: Langages pour lesquels le programmeurréfléchit en terme de valeurs des fonctions et de relations entre entités diverses. Il n ’y a pas d ’attribution de valeurs aux variables.
![Page 3: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/3.jpg)
3
Caractèristique du CCaractèristique du C
Structuré
Modulaire: peut être découpé en modules qui peuvent être compilés séparement
Universel: n'est pas orienté vers un domaine d'application particulier
Typé: tout objet C doit être déclaré avant d’être utilisé
Portable: sur n'importe quel système en possession d'un compilateur C
![Page 4: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/4.jpg)
4
Un long fleuve tranquilleUn long fleuve tranquille
Cfichier
Cfichier
Compilateur C
Codeassembleur
Assembleur
Codeobjet
LinkerCode
executable
![Page 5: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/5.jpg)
/* exemple de programme C :- somme des nb de 1 à 10 et affichage de la valeur*/ #include <stdio.h> int main (void) { int somme; int i; somme = 0; for (i = 1; i <= 10; i++) { somme = somme + i; } printf ("%d\n", somme); somme = 0;}
Fichier C (extension .c)Fichier C (extension .c)
1
En C le programme principals'appelle toujours main 1
déclarations de variables de type entier (cases mémoirepouvant contenir un entier)
2
23 instruction d'affectation de
valeur à la variable somme3
4 instructions exécutéesen séquence
l'instruction entre accolades est exécutée pour les valeursde i allant de 1 à 10
4
affiche à l'écran la valeur de l'entier contenu dans somme
5
5
0
![Page 6: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/6.jpg)
6
Ecrire le programme suivant : Ecrire le programme suivant :
#include <stdio.h>int main(void) {
int a= 257, b = 381;if (a > 0 && b > 0) {
printf(" PGCD(%3d,%"d)\n",a,b);while (a != b) {
if (a < b) b = b-a;else a = a-b;printf("=PGCD(%3d,%3d)\n",a,b);
}printf("=%d\n",a);
}return 0;
}
![Page 7: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/7.jpg)
7
Programme typique en C
include
main()
fonction a()
fonction b()
instructions
instructions
instructions
Main() toujours la1ere fonction appelée
AnatomieAnatomie
![Page 8: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/8.jpg)
8
Commandes simples de compilationCommandes simples de compilation
Prétraitement, compilation et édition de liens :
gcc –Wall –g pgcd.o –lm –o pgcd
l'option –Wall demande une compilation avec des diagnostics sur la propreté du code
l'option –g demande que la table des symboles soit ajoutée à l'exécutable
l'option –lm demande de lier la librairie mathématique
l'option –o pgcd demande que le résultat (l'exécutable) soit nommé pgcd au lieu de a.out
Le programme est à lancer avec ./pgcd
![Page 9: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/9.jpg)
9
Types d’instruction en CTypes d’instruction en C
Déclarations des variables
Assignations
Fonctions
Contrôle
![Page 10: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/10.jpg)
10
Types de données et de variablesTypes de données et de variables
Déclaration des variables
int y;
char yesno, ok;
int ordered = 1, onhand = 0;
float total = 43.132;
char *cptr = NULL;
![Page 11: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/11.jpg)
11
Types de données et de variablesTypes de données et de variables
Type « char » ou « signed char »:
ASCII sur 32 bits • de -2147483648 à 2147483647.
Type « unsigned char »:
ASCII sur 32 bits • de 0 à 4294967295.
![Page 12: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/12.jpg)
12
Types de données et de variablesTypes de données et de variables
Type « short » ou « signed short »
en complément à 2 sur 32 bits • de -2147483648 à 2147483647.
Type « unsigned short »:
binaire sur 32 bits • de 0 à 4294967295.
![Page 13: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/13.jpg)
13
Types de données et de variablesTypes de données et de variables
Type « int » ou « signed int »
en complément à 2 sur 32 bits • de -2147483648 à 2147483647.
Type « unsigned int »:
binaire sur 32 bits • de 0 à 4294967295.
![Page 14: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/14.jpg)
14
Types de données et de variablesTypes de données et de variables
Type « long » ou « signed long »
en complément à 2 sur 32 bits • de -2147483648 à 2147483647.
Type « unsigned long »:
binaire sur 32 bits • de 0 à 4294967295.
![Page 15: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/15.jpg)
15
Types de données et de variablesTypes de données et de variables
Type « enum » (ordered list)
en complément à 2 sur 32 bits • de -2147483648 à 2147483647.
Type « float »
format TMS320C30 sur 32 bits • de 5.9x10-39 à 3.4 x1038.
![Page 16: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/16.jpg)
16
Types de données et de variablesTypes de données et de variables
Type « double »
format TMS320C30 sur 32 bits • de 5.9x10-39 à 3.4 x1038.
Type « long double »
format TMS320C30 sur 40 bits • de 5.9x10-39 à 3.4 x1038.
![Page 17: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/17.jpg)
17
Types de données et de variablesTypes de données et de variables
Type « pointer »
binaire sur 32 bits • de 0 à 0xFFFFFFFF.
![Page 18: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/18.jpg)
18
Les pointeursLes pointeurs
Un pointeur contient l’adresse d’une autre variable.
Déclaration:
float *wirelen;
![Page 19: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/19.jpg)
19
Les pointeursLes pointeurs
Utilisation:
wirelen = &wire2 ;• Contenu de wirelen = adresse de wire2
*wirelen = 30.5 ;• Même effet que wire2 = 30.5.
![Page 20: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/20.jpg)
20
Les pointeurs et les vecteursLes pointeurs et les vecteurs
Déclaration:
float *arrayptr;
float farray[30];
Utilisation:
arrayptr = farray; ou arrayptr = &farray[0];
![Page 21: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/21.jpg)
21
Les pointeurs et les vecteursLes pointeurs et les vecteurs
Accès à une valeur dans le vecteur:
*(arrayptr+3) équivalent à farray[3]
Balayage simple avec ++arrayptr
![Page 22: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/22.jpg)
22
Les modificateurs des classes de mémorisationLes modificateurs des classes de mémorisation
« extern »:
indique une variable ou une fonction déclarée dans un autre module.
« register »:
demande au compilateur de placer des variables dans les registres du CPU. Augmente la vitesse de traitement.
![Page 23: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/23.jpg)
23
Les modificateurs des classes de mémorisationLes modificateurs des classes de mémorisation
« const »:indique que le contenu d’une variable ne doit pas être modifiée.
« volatile »:indique qu’une variable peut voir son contenu changer à tout moment par le programme, des interruptions ou tout autre facteur extérieur. Empêche le compilateur de faire des optimisations sur cette variable.
![Page 24: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/24.jpg)
24
Opérateurs et expressionsOpérateurs et expressions
Opérateurs à un paramètre:
- change le signe de la variable
~ complément à 1
* « indirection » (pointeurs)• value = *salary; /* contenu pointé par salaire */
& adresse
++/-- incrémentation/décrémentation
sizeof()
![Page 25: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/25.jpg)
25
Opérateurs et expressionsOpérateurs et expressions
Opérateurs arithmétique:*,/,+,-% modulo
Opérateurs sur bits:<<,>> décalage à gauche ou à droite
• status = byte << 4;& et| ou^ ou exclusif
![Page 26: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/26.jpg)
26
Opérateurs et expressionsOpérateurs et expressions
Opérateurs relationnels:
<,>,<=,=>
Opérateurs d’égalité:
==, !=
Opérateurs logiques:
&& et
|| ou
![Page 27: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/27.jpg)
27
Opérateurs et expressionsOpérateurs et expressions
Opérateur conditionnel:
result = mode > 0 ? 1 : 0;
if mode>0 then result=1 else result=0.
Opérateurs d’assignation:
=, *=, /=, %=, +=, -=, <<=, >>=, &=, |=, ^=
![Page 28: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/28.jpg)
28
Fonctions en CFonctions en C
Plusieurs fonctions pré-définies:
printf(), sin(), atoi(), …
Le prototype de ces fonctions sont dans fichiers d’entête (header file)
printf() dans stdio.h
sin() dans math.h
![Page 29: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/29.jpg)
29
Fonctions en CFonctions en C
Extrait de stdio.h
/****************************************************************//* FORMATTED INPUT/OUTPUT FUNCTIONS *//****************************************************************/extern int fprintf(FILE *_fp, const char *_format, ...);extern int fscanf(FILE *_fp, const char *_fmt, ...);extern int printf(const char *_format, ...);extern int scanf(const char *_fmt, ...);extern int sprintf(char *_string, const char *_format, ...);extern int sscanf(const char *_str, const char *_fmt, ...);extern int vfprintf(FILE *_fp, const char *_format, char *_ap);extern int vprintf(const char *_format, char *_ap);extern int vsprintf(char *_string, const char *_format, char *_ap);
![Page 30: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/30.jpg)
30
Fonctions en CFonctions en C
Bien sûr, nous pouvons écrire nos propres fonctions.
/* Routine de calcul du maximum */int imax(int n, int m) { int max; if (n>m)
max = n; else
max = m; return max;}
Déclaration de la fonction
Variable locale
Valeur retournée par la fonction
![Page 31: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/31.jpg)
31
Fonctions en CFonctions en C
Fonctions sans arguments et ne retournant pas de valeur.
void fonction(void)
Fonctions avec arguments ne retournant pas de valeur.
void fonction(int x, int y, char ch)
![Page 32: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/32.jpg)
32
Fonctions en CFonctions en C
Les fonctions exigent la déclaration d’un prototype avant son utilisation:
/* Programme principal */#include <stdio.h>int imax(int,int);main(){ … }
int imax(int n, int m){ … }
Prototype de la fonction
La fonction est définie ici
![Page 33: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/33.jpg)
33
Fonctions en CFonctions en C
La récursivité
/* Programme principal */#include <stdio.h>void up_and_down(int);main(){ up_and_down(1) }
void up_and_down(int n){ printf(“Niveau %d\n” n); if (n<4)
up_and_down(n+1); printf(“NIVEAU %d\n” n); }
Niveau 1
Niveau 2Niveau 3
Niveau 4NIVEAU 4
NIVEAU 3NIVEAU 2
NIVEAU 1
![Page 34: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/34.jpg)
34
Boucle « for »Boucle « for »
/* Boucle for */#include <stdio.h>#define NUMBER 22main(){ int count, total = 0;
for(count =1; count <= NUMBER; count++, total += count)printf(“Vive le langage C !!!\n”);
printf(“Le total est %d\n”, total);}
Initialisation
Condition de fin de boucle
Incrémentation et autres fonctions
![Page 35: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/35.jpg)
35
Boucle « while »Boucle « while »
/* Boucle while */#include <stdio.h>#define NUMBER 22main(){ int count = 1, total = 0;
while(count <= NUMBER) { printf(“Vive le langage C !!!\n”); count++; total += count; } printf(“Le total est %d\n”, total);}
Initialisation
Condition de fin de boucle (boucle tant que vrai)(boucle faite que si vrai)
Incrémentation
![Page 36: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/36.jpg)
36
Boucle « do while »Boucle « do while »
/* Boucle do while */#include <stdio.h>#define NUMBER 22main(){ int count = 1, total = 0;
do { printf(“Vive le langage C !!!\n”); count++; total += count; } while(count <= NUMBER); printf(“Le total est %d\n”, total);}
Initialisation
Incrémentation
Condition de fin de boucle (boucle tant que vrai)(boucle faite au moins 1 fois)
![Page 37: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/37.jpg)
37
Choix multiple: « switch case »Choix multiple: « switch case »
/* Utilisation de switch case */main(){ char choix; … switch(choix) { case ‘a’ : fonctionA();
case ‘b’ : fonctionB();
case ‘c’ : fonctionC();
default : erreur(3); }}
Paramètre de décision
Exécuté si choix = a
Exécuté si choix = a ou b
Exécuté si choix = a, b ou c
Exécuté si choix non répertorié par un « case »et si choix = a, b ou c
![Page 38: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/38.jpg)
38
Effet du « break »Effet du « break »
/* Utilisation de switch case */main(){ char choix; … switch(choix) { case ‘a’ : fonctionA(); break;
case ‘b’ : fonctionB(); break;
case ‘c’ : fonctionC(); break;
default : erreur(3); }}
Paramètre de décision
Exécuté si choix = a
Exécuté si choix = b
Exécuté si choix = c
Exécuté si choix non répertorié par un « case »
![Page 39: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/39.jpg)
39
DirectivesDirectives
#define <name> <substitution>#define ZERO 0
#undefine <name>#undefine ZERO
#include <filename>#include <math.h>
#if, #endif, #else
![Page 40: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/40.jpg)
40
Modèle de la mémoireModèle de la mémoire
Le compilateur C génère 6 sections (ou blocs) de code et de données relocalisables.
![Page 41: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/41.jpg)
41
Modèle de la mémoireModèle de la mémoire
Sections initialisées:
.text:• code exécutable.
.cinit:• table des variables globales et statiques initialisées.
.const:• table des valeurs d’initialisation des constantes globales et statiques
+ les chaînes de car.
![Page 42: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/42.jpg)
42
Modèle de la mémoireModèle de la mémoire
Sections non-initialisées:
.bss:• espace réservé pour les variables globales et statiques non
initialisées.
.stack:• pile système.
.sysmem:• pool de mémoire pour allocation dynamique (alloc, malloc, calloc).
![Page 43: 1 la programmation en langage C. 2Classification Languages Imperatifs: Langages incluant des moyens pour le programmeur d attribuer des valeurs a des](https://reader035.vdocuments.pub/reader035/viewer/2022081515/551d9d8c497959293b8c0d55/html5/thumbnails/43.jpg)
43
Modèle de la mémoireModèle de la mémoire
La section « .data » n’est pas utilisée par le compilateur C (réservé pour l’assembleur).