Maison > développement back-end > C++ > Pourquoi les littéraux de caractères C sont-ils des entiers et non des caractères ?

Pourquoi les littéraux de caractères C sont-ils des entiers et non des caractères ?

Mary-Kate Olsen
Libérer: 2024-12-23 03:59:18
original
945 Les gens l'ont consulté

Why Are C Character Literals Integers, Not Characters?

Pourquoi les littéraux de caractères C sont des entiers et non des caractères

C'est une particularité du langage de programmation C que les littéraux de caractères (tels que 'a' ) sont représentés sous forme d'entiers plutôt que de caractères (comme en C ). Ce comportement peut surprendre les nouveaux arrivants en C, car il semble contre-intuitif.

La raison de cette décision de conception réside dans l'évolution du C. Au début du C, son prédécesseur K&R C, la promotion de type n'était pas comme répandu et il était difficile d'utiliser des valeurs de caractère sans les promouvoir au préalable en nombres entiers. En représentant dès le départ les littéraux de caractères sous forme d'entiers, cette étape supplémentaire pourrait être éliminée.

De plus, C prend en charge les constantes à plusieurs caractères, telles que « abcd », qui nécessitent plus d'un octet pour être représentées. En stockant les caractères littéraux sous forme d'entiers, C peut accueillir ces constantes plus longues dans sa taille entière de 4 octets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal