C에서 짧은 리터럴 작성
C에서는 변수에 짧은 정수 값을 할당해야 할 수도 있습니다. 숫자 데이터를 올바르게 작업하려면 C에서 짧은 리터럴을 표현하는 방법을 이해하는 것이 중요합니다.
기존 리터럴
다양한 데이터 유형에 대한 다양한 리터럴 표현에 익숙합니다.
짧은 리터럴
안타깝게도 C에는 짧은 리터럴에 대한 직접적인 구문이 없습니다. 그러나 캐스팅을 사용하여 원하는 결과를 얻을 수 있습니다. 캐스팅에는 한 데이터 유형을 다른 데이터 유형으로 변환하는 작업이 포함됩니다.
짧은 리터럴을 나타내려면 다음과 같이 정수를 짧은 데이터 유형으로 캐스팅할 수 있습니다.
<code class="cpp">((short)2)</code>
이 표현식은 효과적으로 짧은 정수를 생성합니다. 값은 2입니다. 컴파일러는 코드를 최적화하므로 내부적으로 짧은 리터럴로 해석됩니다.
예
다음 코드는 캐스팅을 통해 짧은 리터럴을 사용하는 방법을 보여줍니다.
<code class="cpp">short a = (short)2; short b = (short)10;</code>
이 예에서 변수 a와 b는 short 데이터 유형이고 각각 값 2와 10을 갖습니다.
디스어셈블리
컴파일러의 효율성을 보장하기 위해 컴파일된 코드를 분해하여 동작을 확인할 수 있습니다. 다음 코드를 컴파일하고 디스어셈블하면
<code class="cpp">int main() { short a = (short)2; return 0; }</code>
어셈블리 코드가 생성됩니다.
movl , -4(%rbp)
보시다시피 값 2는 메모리 위치에 직접 저장됩니다. 최적화에 성공했습니다.
위 내용은 C에서 짧은 리터럴을 어떻게 작성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!