Maison > développement back-end > C++ > Qu'est-ce qu'une chaîne littérale en langage C ?

Qu'est-ce qu'une chaîne littérale en langage C ?

PHPz
Libérer: 2023-09-02 12:53:06
avant
1540 Les gens l'ont consulté

Quest-ce quune chaîne littérale en langage C ?

字符串文字是一个以零结尾的字符序列。例如,

Char * str = "hi, hello"; /* string literal */
Copier après la connexion

字符串字面量用于初始化数组。

char a1[] = "xyz"; /* a1 is char[4] holding {'x','y','z','\0'} */
char a2[4] = "xyz"; /* same as a1 */
char a3[3] = "xyz"; /* a1 is char[3] holding {'x,'y','z'}, missing the '\0' */
Copier après la connexion

如果您尝试更改字符串文字的值,则它们是不可修改的,这会导致未定义的行为。

char* s = "welcome";
s[0] = 'W'; /* undefined behaviour */
Copier après la connexion

始终尝试将字符串文字标记为常量,使用const。

char const* s1 = "welcome";
s1[0] = 'W'; /* compiler error! */
Copier après la connexion

字符串文字也称为字符常量,支持不同的字符集。

/* normal string literal, of type char[] */
   char* s1 = "abc";
/* UTF-8 string literal, of type char[] */
   char* s3 = u8"abc";
/* 16-bit wide string literal, of type char16x[] */
   char16x* s4 = u"abc";
/* 32-bit wide string literal, of type char32x[] */
   char32x* s5 = U"abc";
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal