243 votes

Apostrophes vs des guillemets doubles dans C

Quand utiliser l’apostrophe et les guillemets doubles dans la programmation en C ?

325voto

En C et en C++ apostrophes identifient un caractère unique, tandis que les guillemets doubles créer une chaîne littérale. « a » est un seul caractère littéral, alors que « a » correspond à un littéral de chaîne contenant un « a » et une marque de fin null (c’est un tableau de 2 char).

Notez que, dans C, le type d’un littéral de caractère est et non , c'est-à-dire est 4 dans une architecture où ints sont 32 bits (et CHAR_BIT est 8), tandis que est à 1 partout.

50voto

unwind Points 181987

Certains compilateurs également de mettre en œuvre une extension, qui permet de caractères multi-constantes. Le standard C99 dit:

6.4.4.4p10: "La valeur d'un entier constante de caractère contenant plus que d'un caractère (par exemple, "ab"), ou contenant un caractère ou d'échapper à des la séquence ne correspond pas à une un seul octet d'exécution de caractère, est la mise en œuvre définies."

Cela pourrait ressembler à ceci, par exemple:

const uint32_t png_ihdr = 'IHDR';

Le résultant constante (dans GCC, qui met en œuvre ce) a la valeur que vous obtenez en prenant chaque personnage et de les déplacer, de sorte que " je " termine dans les bits les plus significatifs de la valeur de 32 bits. Évidemment, vous ne devriez pas compter sur cette plate-forme indépendante de code.

31voto

Eiko Points 19502

Guillemets simples sont des caractères ( ), des guillemets doubles sont des chaînes se terminant par null ( ).

10voto

Graham Borland Points 27556

Guillemets simples sont d’un caractère unique. Guillemets doubles sont pour une chaîne (tableau de caractères). Vous pouvez utiliser des guillemets simples à mettre en place une chaîne d’après caractère à un moment, si vous le souhaitez.

7voto

Jens Gustedt Points 40410

C des guillemets simples tels que « a » indiquent constantes de caractères alors que « a » est un tableau de caractères, toujours terminée par le caractère 0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X