>백엔드 개발 >C++ >C의 연산자 크기는 컴파일 타임이나 런타임에 평가됩니까?

C의 연산자 크기는 컴파일 타임이나 런타임에 평가됩니까?

DDD
DDD원래의
2024-11-03 21:00:29471검색

Does the sizeof Operator in C   Evaluate at Compile Time or Run Time?

C의 sizeof 연산자 평가 시간은 기계에 따라 달라지나요?

C의 sizeof 연산자는 데이터 유형의 크기를 계산합니다. 아니면 변수인데, 코드가 컴파일되는 기계나 실행파일이 실행되는 기계에 따라 결과가 달라지나요?

크기의 평가 시간

이에 대한 답변 질문은 아니오입니다. 다른 연산자와 달리 sizeof 평가는 컴파일 타임에 발생합니다. 즉, 컴파일러는 프로그램이 실행될 때가 아니라 컴파일될 때 데이터 유형이나 변수의 크기를 결정합니다.

예를 들어 다음 코드 조각을 고려하세요.

<code class="cpp">sizeof(short int)</code>

이 코드 조각의 결과는 어떤 컴퓨터에서 이를 컴파일하거나 실행 파일을 실행하는지에 관계없이 동일합니다. 이는 컴파일러가 컴파일 중에 short int 데이터 유형의 크기(일반적으로 2바이트)를 결정하기 때문입니다. 실행 파일은 단순히 이 정보를 전달하며 프로그램이 실행되는 시스템에서 short int의 실제 크기는 결과에 영향을 미치지 않습니다.

따라서 C에서 sizeof 연산자의 평가 시간은 다음과 같이 결정됩니다. 런타임이 아닌 컴파일 타임입니다.

위 내용은 C의 연산자 크기는 컴파일 타임이나 런타임에 평가됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.