Vous êtes sur la page 1sur 5

WIKI loves monuments

Photographiez un monument historique,


aidez Wikipédia et gagnez !
Réduire
Types de variables C
Sauter à la navigation
Sauter à la recherche
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus sur
les bandeaux.
Cet article est orphelin. Moins de trois articles lui sont liés (juin 2020).

Vous pouvez aider en ajoutant des liens vers [[Types de variables C]] dans les
articles relatifs au sujet.

Dans le langage de programmation C, les types de variables constituent la


sémantique et les caractéristiques du stockage des éléments de données. Elles sont
exprimées dans la syntaxe du langage sous forme de déclarations d'emplacements de
mémoire ou de variables. Les types de variables déterminent également les types
d'opérations ou les méthodes de traitement des éléments de données.

Le langage C fournit des types arithmétiques de base, tels que des types entiers et
réels, et une syntaxe pour construire des types tableaux et composés. Les en-têtes
(headers en anglais) de la bibliothèque standard C, à utiliser via les en-têtes
#include, contiennent des définitions de types de prise en charge, qui ont des
propriétés supplémentaires, telles que la fourniture d'un stockage de taille
exacte, indépendamment de l'implémentation du langage sur des plates-formes
matérielles spécifiques.
Types standards

Liste complète : voir la page anglophone.


Types principaux

Le langage C fournit quatre spécificateurs arithmétique de base char, int, float et


double ainsi que leurs versions modifiés signed, unsigned, short et long. Le
tableau suivant liste les combinaisons et la plage de valeurs permises pour chaque
déclaration.
Type Explication courte Formateurs
char Plus petite unité adressable d'une machine, elle peut contenir les caractères
de base. C'est une valeur entière qui peut être signée ou non.

Les types char sont codés sur un octet (8bits) .


%c
signed char Type char signé. Valeur comprise entre -128 et +127 . %c
unsigned char Type char non-signé. Valeur comprise entre 0 et 255 . %c
int
signed
signed int Type entier standard, signé. Valeur comprise entre -32 767 et +32 767.
Les types int et short int sont codés sur deux octets (16bits). Peut dépendre du
système. %i ou %d
unsigned
unsigned int Idem que le type entier standard, mais non signé.

Valeur comprise entre 0 et 65 535.


%u
short
short int
signed short
signed short int Type entier minimum, court, entier et signé.
Idem que le type entier standard.
%i
unsigned short
unsigned short int Type entier minimum, court, idem que le type entier
standard non signé. %u
long
long int
signed long
signed long int Type entier long, entier et signé. Valeur comprise entre -2 147
483 647 et +2 147 483 647.

Les entiers longs sont codés sur quatre octets (32 bits).
%li ou %ld
unsigned long
unsigned long int Idem type entier long mais non signé.

Valeur entre 0 et 4 294 967 295.


%lu
long long
long long int
signed long long
signed long long int Type entier long long, entier et signée. Valeur comprise
entre

-9 223 372 036 854 775 807 et +9 223 372 036 854 775 807.

Les entiers longs longs sont codés sur huit octets (64 bits).
%lli
unsigned long long
unsignedlonglong int Idem type entier long long mais non signé . Valeur comprise
entre

0 et +18 446 744 073 709 551 615.


%llu
float Type flottant, point réel à virgule flottante, dit de simple
précision .

Codé sur quatre octets (32 bits) sur la plupart des systèmes.

Requit pour les calculs arithmétiques, Annexe F "IEC 60559 floating-point


arithmetic"
%f %F

%g %G

%e %E

%a %A
doubledouble float Idem type flottant mais en double précision.

Codé sur huit octets 64 bits.


%lf %lF

%lg %lG

%le %lE

%la %lA
long doublelong double float Idem type flottant mais en quadruple précision.

Codé sur seize octets (128 bits)


%Lf %LF

%Lg %LG

%Le %LE

%La %LA
Type booléen

C99 (anglais) a ajouté le type booléen _Bool (vrai / faux). De plus, l'en-tête <
stdbool.h > définit bool comme un alias pratique pour ce type et fournit également
des macros pour true et false . _Bool fonctionne de manière similaire à un type
entier normal, à une exception près: toutes les affectations à _Bool qui ne sont
pas 0 (faux) sont stockées comme 1 (vrai). Ce comportement existe pour éviter les
dépassements d'entier dans les conversions de rétrécissement implicites. Par
exemple, dans le code suivant :

unsigned char b = 256;

if (b) {
/* faire quelque chose */
}

La variable b contient false (faux, ou 0) si le caractère unsigned char a une


taille de 8 bits. Cela est dû au fait que la valeur 256 ne correspond pas au type
de données, ce qui entraîne l'utilisation des 8 bits inférieurs, donc la valeur est
nulle. Cependant, la modification du type fait que le code précédent se comporte
normalement:

_Bool b = 256;

if (b) {
/* faire quelque chose */
}

Le type _Bool garantit aussi que les vraies valeurs soient toujours comparables les
unes aux autres:

_Bool a = 1, b = 2;

if (a == b) {
/* faire quelque chose */
}

Portail de la programmation informatique

Catégories :

Bibliothèque standard du CLangage C

[+]
Afficher/cacher la barre latérale

Accueil
Portails thématiques
Article au hasard
Contact

Contribuer

Débuter sur Wikipédia


Aide
Communauté
Modifications récentes
Faire un don

Outils

Pages liées
Suivi des pages liées
Téléverser un fichier
Pages spéciales
Lien permanent
Informations sur la page
Citer cette page
Élément Wikidata

Imprimer / exporter

Créer un livre
Télécharger comme PDF
Version imprimable

Dans d’autres langues

‫العربية‬
Deutsch
English
한국어
Русский
Tiếng Việt
中文

Modifier les liens


Wikipédia l'encyclopédie libre
Menu de navigation

Non connectéDiscussionContributionsCréer un compteSe connecter

Article
Discussion

Lire
Modifier
Modifier le code
Voir l’historique

Rechercher

La dernière modification de cette page a été faite le 1 août 2020 à 15:03.


Droit d'auteur : les textes sont disponibles sous licence Creative Commons
attribution, partage dans les mêmes conditions ; d’autres conditions peuvent
s’appliquer. Voyez les conditions d’utilisation pour plus de détails, ainsi que les
crédits graphiques. En cas de réutilisation des textes de cette page, voyez comment
citer les auteurs et mentionner la licence.
Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc.,
organisation de bienfaisance régie par le paragraphe 501(c)(3) du code fiscal des
États-Unis.

Politique de confidentialité
À propos de Wikipédia
Avertissements
Contact
Version mobile
Développeurs
Statistiques
Déclaration sur les témoins (cookies)

Wikimedia Foundation
Powered by MediaWiki

Vous aimerez peut-être aussi