>  기사  >  백엔드 개발  >  C에서 \'register\'와 \'int\'의 차이점은 무엇입니까?

C에서 \'register\'와 \'int\'의 차이점은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-24 05:09:30610검색

What is the Difference Between 'register' and 'int' in C  ?

C에서 'register'와 'int'의 구별

C에서 변수를 선언할 때 개발자는 'register'를 사용할 수 있습니다. 특정 변수가 메모리가 아닌 프로세서 레지스터에 상주해야 함을 컴파일러에 암시하는 키워드입니다. 예를 들어 다음 코드를 고려해보세요.

int x = 7;

register int x = 7;

두 예제의 차이점은 'register' 키워드의 사용에 있습니다. 첫 번째 경우 'x' 변수는 정수로 선언되고 메모리에 상주합니다. 두 번째 경우, 'register' 키워드는 'x'를 프로세서 레지스터에 저장하는 것이 유익할 것이라고 컴파일러에 제안합니다.

그러나 컴파일러는 이를 무시할 재량권을 가지고 있다는 점에 유의하는 것이 중요합니다. 제안. Herb Sutter가 "아닌 키워드(또는 다른 이름의 댓글)"에서 다음과 같이 주장합니다.

"레지스터 지정자는 자동 지정자와 동일한 의미를 갖습니다..."

In 즉, '레지스터'를 사용하면 컴파일러가 'auto' 키워드와 유사한 방식으로 'x'를 할당하도록 지시할 뿐이며 이는 변수 위치에 대한 특별한 의미가 없습니다. 따라서 '레지스터'는 레지스터 저장에 대한 선호를 전달하지만 실제 구현은 컴파일러의 재량에 달려 있습니다.

위 내용은 C에서 \'register\'와 \'int\'의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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