Bonjour et bienvenue.
Dans cette démonstration, je souhaite fournir une solution à un petit programme
rapide qui utilisera l'opérateur sizeof pour nous indiquer la taille
de notre mémoire pour certains types de données.
Faisons apparaître des blocs de
code, et nous allons faire des étapes très familières ici pour créer un projet.
Et nous allons obtenir un nom significatif.
Appelons ce projet
sizeofexample.
Donc sizeofexample.
Cela va être assez facile, vraiment. Il va simplement
utiliser des instructions d'impression pour afficher certains types de données.
Je ne vais donc même pas créer de variables. Je vais juste imprimer
quelques données.
Donc, ici, je vais dire que les variables de
type char occupent un pourcentage.
Et j'allais utiliser un certain type
de données um. Je pense que c'était zf,
mais essayons d'utiliser zd. C'est un spécificateur de
format sympa, a été ajouté dans C99, je crois.
Zd et tout ce que nous avons à faire est d'utiliser sizeof.
Sizeof et get ça ressemble à une fonction, mais ce n'est pas le cas. Et puis dites char pour caractère.
Et puis je vais juste copier ceci
et le coller parce que je vais faire des choses similaires.
Je ne vais pas faire de personnage, mais je vais faire un court sur le second.
Je vais faire un int et un
long,
long long, double ou faisons un float, float
double, essayons long double.
Et puis tout ce que nous avons à faire
est de modifier la taille des paramètres pour prendre les types correspondants.
Nous l'utiliserons également lorsque nous parlerons de mémoire et de pointeurs.
Mais cela aide simplement à comprendre les différents types de données.
Et vous verrez que vous pouvez réellement passer dans
l'espace long et long sizeof. C'est probablement pourquoi ce n'est pas une fonction car vous ne pouvez pas avoir d'espaces dans les paramètres de fonction.
Mais rappelez-vous que la taille de prend également des variables, des expressions, toutes
sortes de choses.
Et quand il fait cela, il détermine en fait la taille au moment de
l'exécution par opposition au temps de compilation en long double.
Sauvegardez ça, construisez.
Aucune erreur.
Il semble qu'il ne comprend pas le format z.
C'est parce que ce n'est peut-être pas int. Modifions donc ces derniers en pourcentage d'utilisation
pour non signé.
Très bien maintenant, construisons.
Très bien, maintenant nous n'avons aucun avertissement. En général, lorsque je construis, vous ne voulez pas non plus d'avertissements.
Les avertissements dans le compilateur sont
exactement ce qu'ils disent être des avertissements. Vous allez donc toujours compiler avec
succès, mais un avertissement indique généralement un problème.
Vous voulez donc nettoyer vos avertissements. Et donc j'ai eu un avertissement disant qu'un spécificateur
de format n'était pas autorisé pour cent z. , donc je l'ai changé, maintenant je n'ai aucun avertissement.
Essayez de nettoyer vos avertissements autant que possible parce que la raison pour laquelle ils sont des avertissements parce qu'ils peuvent causer des problèmes.
Et une chose que j'ai oublié ici et que je viens de
remarquer, c'est qu'il est mal formaté parce que je n'ai pas ajouté mon caractère d'échappement pour le pari pour les sauts de ligne.
Cela rend donc la lecture très difficile. Ajoutons donc notre barre
oblique inverse n après notre pourcentage u.
Alors maintenant, il dit que les variables de type char en occupent une.
Les variables de type court occupent
2 octets, int 4 octets, long 4 octets, long long
8 octets, float 4 octets, double 8 octets, long double 12.
C'est plutôt chouette. Vous exécutez cela sur de nombreuses plates-formes différentes et vous verrez ces choses changer.
Donc un programme facile à écrire, mais qui démontre encore une fois quelques concepts soignés.
Pour que vous puissiez continuer, vous pouvez télécharger ceci.
Si vous rencontrez des problèmes, essayez de l'exécuter sur différentes plates-formes, mais c'est tout ce
que je voulais montrer juste un petit aperçu des différentes tailles de
types de données, ainsi de suite à la section suivante. Merci.