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!