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

Voici quelques options de titre, en se concentrant sur l'aspect de la question que vous avez demandé : Direct et clair : * Quels types de promotions se produisent dans les fonctions variadiques C/C ? * Comment les arguments sont-ils promus dans la fonction variadique

DDD
Libérer: 2024-10-27 14:55:29
original
510 Les gens l'ont consulté

Here are a few title options, focusing on the question aspect you requested:

Direct and Clear:

* What Type Promotions Occur in C/C   Variadic Functions?
* How Are Arguments Promoted in Variadic Function Calls in C and C  ?

Slightly More Engaging:

* Un

Promotions de type par défaut dans les listes d'arguments variadiques

En C et C, lors du passage d'arguments à une fonction avec un nombre variable d'arguments (c'est-à-dire , une fonction variadique), certaines promotions de type par défaut se produisent.

Promotion d'entier

Les normes C et C garantissent que tout type entier avec un rang inférieur à int est promu soit en int, soit en int non signé. Cela signifie que si vous transmettez un entier de 8 bits (par exemple, uint8_t) à une fonction qui attend un int (dont la taille est généralement de 16 bits ou plus), l'entier de 8 bits sera automatiquement promu à 16 bits ou plus.

Par exemple, dans l'extrait de code fourni :

uint8_t a = 5;
printf("%d", a);
Copier après la connexion

Le spécificateur de format %d attend un int, mais comme a est un uint8_t, il sera promu en int avant d'être transmis à printf .

Promotion flottante

De même, les valeurs flottantes sont promues au double par défaut. Cela signifie que si vous passez un float à une fonction qui attend un double, le float sera automatiquement converti en double précision.

Exemple

En résumé, la valeur par défaut Les promotions de type dans les listes d'arguments variadiques sont :

  • Chaque type entier dont le rang est inférieur à int est promu en int ou en int non signé.
  • les valeurs flottantes sont promues au double.

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