Previous Next Up Index Contents

9.5.1. Déclaration statique de données

Chaque variable dans un programme a besoin d'un certain nombre d'octets en mémoire. Jusqu'ici, la réservation de la mémoire s'est déroulée automatiquement par l'emploi des déclarations des données. Dans tous ces cas, le nombre d'octets à réserver était déjà connu pendant la compilation. Nous parlons alors de la déclaration statique des variables.

Exemples

float A, B, C;        /* réservation de 12  octets */
short D[10][20];      /* réservation de 400 octets */
char E[] = {"Bonjour !"};
                      /* réservation de 10  octets */
char F[][10] = {"un", "deux", "trois", "quatre"};
                      /* réservation de 40  octets */

Pointeurs

Le nombre d'octets à réserver pour un pointeur dépend de la machine et du 'modèle' de mémoire choisi, mais il est déjà connu lors de la compilation. Un pointeur est donc aussi déclaré statiquement. Supposons dans la suite qu'un pointeur ait besoin de p octets en mémoire. (En DOS: p =2 ou p = 4)

Exemples

double *G;      /* réservation de p    octets */
char *H;        /* réservation de p    octets */
float *I[10];   /* réservation de 10*p octets */

Chaînes de caractères constantes

L'espace pour les chaînes de caractères constantes qui sont affectées à des pointeurs ou utilisées pour initialiser des pointeurs sur char est aussi réservé automatiquement:

Exemples

char *J = "Bonjour !";
           /* réservation de   p+10      octets */
float *K[] = {"un", "deux", "trois", "quatre"};
           /* réservation de 4*p+3+5+6+7 octets */


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber