>  기사  >  백엔드 개발  >  C에서 \'int x=7;\' 대신 \'register int x=7;\'을 사용하는 이유는 무엇입니까?

C에서 \'int x=7;\' 대신 \'register int x=7;\'을 사용하는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-24 05:48:30785검색

Why Use 'register int x=7;' Instead of 'int x=7;' in C  ?

'int x=7;'의 차이점 이해하기 그리고 'int x=7을 등록하세요;' C에서

'int'와 'register' 키워드는 모두 C에서 변수를 선언하는 데 사용됩니다. 'int' 키워드는 단순히 변수 유형(이 경우 정수)을 지정하는 반면, 'register' 키워드는 컴파일러에 대한 힌트로 해당 변수를 메모리 대신 프로세서 레지스터에 저장하도록 조언합니다.

'register' 키워드를 사용함으로써 프로그래머는 해당 변수가 자주 사용될 가능성이 높으며 이를 프로세서 레지스터에 저장하면 성능이 향상될 것이라고 컴파일러에 제안합니다. 그러나 컴파일러는 이 힌트를 따를 수도 있고 따르지 않을 수도 있다는 점에 유의하는 것이 중요합니다.

예를 들어 변수 'x'가 한두 번만 사용되거나 자주 액세스할 가능성이 없는 경우, 컴파일러는 '레지스터' 힌트를 무시하고 대신 변수를 메모리에 저장하도록 선택할 수 있습니다.

Herb Sutter의 "키워드가 아닌 키워드(또는 다른 이름의 주석)"라는 제목의 논문에 따르면:

"레지스터 지정자는 자동 지정자와 의미가 동일합니다..."

이 문장은 'register' 키워드가 본질적으로 컴파일러에 대한 제안이며 컴파일러가 무료라는 것을 의미합니다. 변수를 프로세서 레지스터에 저장할지 여부를 결정합니다.

위 내용은 C에서 \'int x=7;\' 대신 \'register int x=7;\'을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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