Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어의 문자열 리터럴은 무엇입니까?

<시간/>

문자열 리터럴은 0으로 끝나는 일련의 문자입니다. 예를 들어,

Char * str ="안녕하세요, 안녕하세요"; /* 문자열 리터럴 */

문자열 리터럴은 배열을 초기화하는 데 사용됩니다.

char a1[] ="xyz"; /* a1은 {'x','y','z','\0'}를 포함하는 char[4]입니다. */char a2[4] ="xyz"; /* a1과 동일 */char a3[3] ="xyz"; /* a1은 '\0'이 누락된 {'x,'y','z'}를 포함하는 char[3]입니다. */

문자열 리터럴은 값을 변경하려고 하면 수정할 수 없으므로 정의되지 않은 동작이 발생합니다.

char* s ="환영합니다";s[0] ='W'; /* 정의되지 않은 동작 */

항상 const를 사용하여 문자열 리터럴을 그대로 나타내도록 시도하십시오.

char const* s1 ="환영합니다";s1[0] ='W'; /* 컴파일러 오류! */

문자 상수라고도 하는 문자열 리터럴은 다양한 문자 집합을 지원합니다.

/* char[] 유형의 일반 문자열 리터럴 */ char* s1 ="abc";/* UTF-8 문자열 리터럴, char[] 유형 */ char* s3 =u8"abc";/* 16비트 너비 문자열 리터럴, 유형 char16x[] */ char16x* s4 =u"abc";/* 32비트 너비 문자열 리터럴, 유형 char32x[] */ char32x* s5 =U"abc";