Heim > Backend-Entwicklung > C++ > Was ist ein String-Literal in der C-Sprache?

Was ist ein String-Literal in der C-Sprache?

PHPz
Freigeben: 2023-09-02 12:53:06
nach vorne
1539 Leute haben es durchsucht

Was ist ein String-Literal in der C-Sprache?

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

Char * str = "hi, hello"; /* string literal */
Nach dem Login kopieren

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

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' */
Nach dem Login kopieren

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

char* s = "welcome";
s[0] = 'W'; /* undefined behaviour */
Nach dem Login kopieren

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

char const* s1 = "welcome";
s1[0] = 'W'; /* compiler error! */
Nach dem Login kopieren

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

/* 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";
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist ein String-Literal in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage