Maison > développement back-end > C++ > Quel est le type d'une chaîne littérale en C ?

Quel est le type d'une chaîne littérale en C ?

Susan Sarandon
Libérer: 2024-10-28 09:33:29
original
531 Les gens l'ont consulté

 What is the Type of a String Literal in C  ?

Comprendre le type d'un littéral de chaîne

Lorsque vous travaillez avec des littéraux de chaîne en C, déterminer leur type peut être déroutant. Une confusion courante découle de la nature d'une chaîne littérale et du fait qu'il s'agisse d'un const char * ou d'un const char.

Pour répondre à cette idée fausse, nous devons clarifier qu'une chaîne littérale en C est de type const char [N], où N est la longueur de la chaîne plus un pour le terminateur nul ou l'octet zéro (' '). Essentiellement, un littéral de chaîne est un tableau de caractères qui inclut le caractère nul de fin.

Cette attribution de type explique plusieurs aspects clés des littéraux de chaîne. Premièrement, cela tient compte du fait que sizeof("hello") - 1 renvoie le nombre de caractères dans la chaîne, même en tenant compte des caractères nuls incorporés. Si la chaîne littérale était un pointeur, ce calcul refléterait plutôt la taille d'un pointeur, quelle que soit la longueur de la chaîne.

Il est important de noter que const char[N] est fonctionnellement équivalent à char const[N] , et les deux indiquent un tableau de caractères constants.

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