Maison  >  Article  >  développement back-end  >  Comment puis-je écrire un court littéral en C ?

Comment puis-je écrire un court littéral en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 11:18:02771parcourir

How Can I Write a Short Literal in C  ?

Écrire des littéraux courts en C

En C , il existe des littéraux prédéfinis pour différents types de données, tels que int, long et double. Cependant, il n’existe pas de littéral dédié pour faire court. Pour écrire un littéral court, vous pouvez utiliser un transtypage, comme démontré ci-dessous :

<code class="cpp">((short)2)  // This assigns the short literal value 2 to a variable of type short</code>

Bien qu'il ne s'agisse pas d'un littéral court explicite, cette approche se comporte de la même manière et attribue efficacement une valeur courte à une variable.

Malgré l'absence de notation littérale courte directe, le compilateur optimise généralement le code de telle sorte qu'il traite l'entier converti comme un nombre court, sans encourir de surcharge de performances significative. Par exemple, le code suivant :

<code class="cpp">short a = 2L;
float b = 2.0;
short c = (short)2;
char d = '';</code>

Une fois compilé et désassemblé, donne le code machine suivant :

movl    , _a
movl    , _b
movl    , _c
movl    , _d

Cela indique que le compilateur a directement attribué la valeur 2 aux quatre variables, quel que soit leur type de données. Par conséquent, vous n'avez pas besoin de vous soucier outre mesure des implications en termes de performances lorsque vous utilisez cette approche de casting pour écrire des littéraux courts.

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