문자열 리터럴의 크기
주어진 코드는 다양한 유형의 문자열 상수에 sizeof 연산자를 사용하는 방법을 보여줍니다. 출력에서는 문자열 리터럴의 크기인 sizeof("f")가 문자열 리터럴에 대한 포인터의 크기(sizeof(foo))와 문자 배열의 크기(sizeof(bar)와 다르다는 것을 보여줍니다. )).
sizeof가 문자열 리터럴의 길이를 계산하는 이유는 무엇입니까?
sizeof 연산자는 다음을 계산합니다. 피연산자의 크기(바이트)입니다. 문자열 리터럴의 경우 피연산자는 종료 null(' ') 문자를 포함하여 해당 문자 배열 표현입니다. 이는 'f' 및 ' ' 문자를 설명하는 sizeof("f")에 대한 2의 출력을 설명합니다.
sizeof에 제공될 때 문자열 리터럴의 유형이 다른가요?
아니요. 문자열 리터럴의 유형은 const char[N]입니다. 여기서 N은 종료 null 문자를 포함한 문자열의 길이입니다. 그러나 문자열 리터럴을 sizeof 연산자에 전달하면 문자열을 문자에 대한 포인터 유형인 const char* 유형의 표현식으로 처리합니다. 이것은 32비트 시스템의 포인터 크기인 sizeof(foo)에 대한 4의 출력을 설명합니다.
추가 사항:
위 내용은 문자열 리터럴, 포인터 및 문자 배열에 대해 `sizeof`가 다른 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!