문자열 리터럴의 유형 결정
많은 프로그래머는 문자열 리터럴의 유형을 이해하는 데 어려움을 겪습니다. const char *(상수 문자에 대한 포인터)입니까 아니면 const char(상수 문자)입니까?
답은 C의 문자열 리터럴 표현에 있습니다. 문자열 리터럴이 끝에 null 종결자(' ')가 추가된 문자 배열로 저장되는 C와 달리 C에서 문자열 리터럴은 기본적으로 const char[N]입니다. 여기서 N은 문자열의 길이를 나타냅니다(null 종결자 포함).
본질적으로 const char[N]과 char const[N]은 동일합니다. 이는 문자열의 문자 수(포함된 null 문자 포함)를 정확하게 계산하는 sizeof("hello") - 1을 사용하여 문자열 리터럴의 길이를 안정적으로 결정할 수 있음을 의미합니다. 문자열 리터럴이 포인터인 경우 이 접근 방식은 항상 시스템의 포인터 크기에서 1을 뺀 값을 반환하므로 실패합니다.
위 내용은 C에서 문자열 리터럴의 실제 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!