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
Mary-Kate Olsenoriginal
2024-12-23 03:59:18926parcourir

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!

Déclaration:
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