Maison  >  Article  >  développement back-end  >  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
Susan Sarandonoriginal
2024-10-28 09:33:29456parcourir

 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!

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