Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

L'essentiel du langage C

Étudier les différents types de variable

Testez gratuitement nos 1334 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez voir un rappel sur la numération. Denis Réant vous présente les types et les signes tels que char, int, long, long long, signé et non signé.
06:53

Transcription

Nous voici enfin arrivés dans le grand moment où on va révéler, en fait, quels sont les différents types de variable. Je vous ai principalement parlé du type int sur 32 bits, ok. Mais à partir de là, il faudrait voir un peu quels sont les autres types de variable. C'est ce que nous allons faire tout de suite. Donc, la déclaration d'une variable se fait de la façon suivante : D'abord, vous donnez le Signe. Je le répète, dans Code Blocks, par défaut, si vous ne mettez rien, il est de type signed. Ensuite, vous mettez le Type. Le Type, il peut être du type char, short, int, long, long long, float, double, long double. Nous allons voir après à quelle grandeur est constitué chaque type de variable. Puis, vous allez lui donner un nom explicite. C'est très important pour la clarté de votre programme. Et enfin, une Valeur. Si vous n'avez aucune valeur à lui donner au début, mettez 0, initialisez-la et vous finissez à la fin par un ";". Ça, c'est une obligation. La déclaration d'une constante Une constante, ce n'est jamais qu'une variable dans laquelle vous interdisez au programme de pouvoir la modifier. Pour ça, vous avez exactement la même syntaxe que précédemment sauf que vous ajoutez le mot clé const. Oui, chose que je n'ai pas dit précédemment. Tous ces mots qui sont ici, c'est-à-dire des mots dédiés au compilateur. Vous n'avez pas le droit d'utiliser char comme un nom. Il va être connu automatiquement comme un type. Plusieurs déclarations *** Si vous êtes pressés, plutôt que de dire : "je vais mettre mes variables les unes sous les autres" alors qu'elles sont du même type. Vous avez le droit mais pour la clarté du programme, c'est moins évident. Moi, personnellement, c'est une pratique que j'utilise assez peu mais qui est très répandue. Vous pouvez mettre, pour toutes les variables du même type, les aligner les unes derrière les autres avec leur nom et leur valeur. Le tout séparé par une virgule. La dernière valeur sera, elle, finie par un point-virgule. Parlons un peu des bornes. Le bornage, c'est quoi ? C'est en fait savoir ce que vous pouvez mettre à l'intérieur de vos variables. Donc, vous avez, par exemple, Type char. Alors, s'il est signed, donc sur 8 bits, vous pouvez compter de -128 à +127, c'est-à-dire 2(7)-1 S'il est unsigned char, dans ce cas-là, est du 8 bits aussi mais vous doublez puisque vous commencez cette fois-ci à 0 Donc, vous commencez 2(8)-1 donc vous passez de 0 à 255 Après, nous continuons de la même façon. Vous avez le short sur 16 bits donc 2(15) et 2(16)-1 qui vous permet de pouvoir entrer une valeur comprise entre ces deux bornes. Si elle est non signée, entre 0 et 65 535. Il en va de même pour le Int, le long, (signed) long, le long long et le unsigned long long. Alors, vous voyez le long long, sur 64 bits, on peut commencer à mettre des chiffres déjà assez conséquents. Petite modification : En fait, le type Int a été promu notamment dans le standard de C99, non plus sur 16 bits mais sur 32 bits. C'est pour ça que je reviens en fait au bornage dont j'ai parlé tout à l'heure. Les 2 millions et les 4 millions ont un type unsigned. Lorsque vous déclarez un Int, vous prenez une valeur sur 32 bits. Donc, si on pouvait un peu schématiser tout ceci, vous avez le char, le short, le int et long sur 32 bits et le long long sur 64 bits. Je passe sur le float et sur le double puisqu'ils sont à virgule flottante et bon, c'est un tout petit peu particulier pour l'instant. Dépassement du résultat dans le conteneur Un exemple que l'on a vu tout à l'heure : nous sommes sur du unsigned char nombre1 = 200, nombre2 = 100, résultat = 0 ; resultat = nombre1+nombre2 ; Donc 100+200 résultat attendu = 300 Seulement, on a des carrés, un type char. Et on a vu que le type char sur 8 bits ne peut contenir que 255 au maximum. Donc, le résultat a dépassé la valeur maximale, le compilateur indique alors overflow dans la petite liste des erreurs possible. Alors, le dépassement du résultat se traduit par quoi ? Vous arrivez à 257, vous repassez à 0 258 à 1 259 à 2 C'est ça que je voulais imager tout à l'heure en vous disant que vous aviez dépassé le compteur et que vous reveniez au point de départ. Voilà exactement ce qui se passe. Maintenant, si on vient faire ça sur un type signed char par exemple, arrivés à 127, vous êtes à 127 mais lorsque vous voulez y mettre 128, là vous passez à -128, ainsi de suite. Donc, 129 -127 130 -126 Enfin, vous avez compris le problème et vous avez compris pourquoi il y avait l'apparition des fois d'un signe "-". Conclusion : Si vous ne connaissez pas la grandeur d'une opération, déclarer un type int au minimum. Sur 32 bits, il y a déjà de la place, il y a de quoi faire et vous prenez assez peu de risque. Voilà ce que j'avais à dire en fait sur les différents types standard des variables que l'on trouve en C

L'essentiel du langage C

Comprenez les concepts de base du langage C. Développez de simples applications en mode console, afin de comprendre les rouages d’un des langages les plus utilisés au monde.

7h51 (98 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !