Maison > développement back-end > C++ > le corps du texte

Comment écrire des littéraux courts en C ?

DDD
Libérer: 2024-10-31 00:29:03
original
623 Les gens l'ont consulté

How Do You Write Short Literals in C  ?

Écrire des littéraux courts en C

En C , plusieurs notations littérales sont utilisées pour représenter différents types de données, telles que 2 pour int, 2L pour long, et '2' pour char. Cependant, il peut ne pas être clair comment écrire des littéraux courts, qui stockent des entiers de 16 bits.

Le problème devient évident lorsque l'on essaie d'utiliser 2S comme littéral court. Bien que cette notation puisse sembler logique, elle entraîne un avertissement du compilateur. La solution réside dans l'utilisation d'un transtypage pour convertir explicitement un entier en un nombre court.

Pour écrire un littéral court en C , suivez ces étapes :

  1. Convertissez un entier en short : Mettez un littéral entier entre parenthèses et convertissez-le en court. Par exemple : (short)2

Cette approche n'est pas strictement un littéral court, mais elle se comporte de la même manière. C n'offre pas de moyen direct de représenter des littéraux courts.

Malgré cela, le compilateur optimise le code de telle sorte qu'il alloue de la mémoire pour un short plutôt que pour un int. Voici un exemple qui illustre ce comportement :

<code class="cpp">int a = 2L;
double b = 2.0;
short c = (short)2;
char d = '';</code>
Copier après la connexion

Lorsqu'il est compilé et désassemblé, le code assembleur généré révèle que toutes les variables se voient allouer de la mémoire comme si elles étaient des types corrects :

movl    , _a
movl    , _b
movl    , _c
movl    , _d
Copier après la connexion

Par conséquent, vous n'avez pas à vous soucier de l'inefficacité du casting lorsque vous travaillez avec des littéraux courts en C .

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!