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 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!