C의 sizeof 연산자 평가 시간은 기계에 따라 달라지나요?
C의 sizeof 연산자는 데이터 유형의 크기를 계산합니다. 아니면 변수인데, 코드가 컴파일되는 기계나 실행파일이 실행되는 기계에 따라 결과가 달라지나요?
크기의 평가 시간
이에 대한 답변 질문은 아니오입니다. 다른 연산자와 달리 sizeof 평가는 컴파일 타임에 발생합니다. 즉, 컴파일러는 프로그램이 실행될 때가 아니라 컴파일될 때 데이터 유형이나 변수의 크기를 결정합니다.
예를 들어 다음 코드 조각을 고려하세요.
<code class="cpp">sizeof(short int)</code>
이 코드 조각의 결과는 어떤 컴퓨터에서 이를 컴파일하거나 실행 파일을 실행하는지에 관계없이 동일합니다. 이는 컴파일러가 컴파일 중에 short int 데이터 유형의 크기(일반적으로 2바이트)를 결정하기 때문입니다. 실행 파일은 단순히 이 정보를 전달하며 프로그램이 실행되는 시스템에서 short int의 실제 크기는 결과에 영향을 미치지 않습니다.
따라서 C에서 sizeof 연산자의 평가 시간은 다음과 같이 결정됩니다. 런타임이 아닌 컴파일 타임입니다.
위 내용은 C의 연산자 크기는 컴파일 타임이나 런타임에 평가됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!