> 백엔드 개발 > C++ > \'const int\' 대 \'int const\': C와 C의 차이점은 무엇입니까?

\'const int\' 대 \'int const\': C와 C의 차이점은 무엇입니까?

DDD
풀어 주다: 2024-10-28 13:50:30
원래의
707명이 탐색했습니다.

C와 C의 함수 매개변수: 'const int' 대 'int const'

C와 C의 두 가지 유사한 함수 매개변수 선언 'const int'와 'int const'입니다. 동일해 보이지만 둘 사이에는 미묘한 차이가 있습니다.

C의 Const 선언

C에서 'const int' 선언은 다음을 의미합니다. 매개변수로 전달된 변수는 상수입니다. 즉, 해당 값은 함수 내에서 수정될 수 없습니다. 그러나 이 매개변수에 인수로 전달되는 값은 상수이거나 변수일 수 있습니다.

예:

<code class="c">int testfunc1 (const int a)
{
  // a is constant within the function, but the argument can be variable.
}</code>
로그인 후 복사

Const 선언 C

C에서 'int const'는 C와 동일한 규칙을 따르지만 'const int'에는 추가 해석이 있습니다. 이는 또한 변수가 함수 내에서 수정될 수 없는 상수 값으로 초기화된다는 것을 의미합니다.

예:

<code class="cpp">int testfunc2(int const a)
{
  // Both a and the argument must be constants.
}</code>
로그인 후 복사

Reading Trick for 선언

차이점을 더 잘 이해하려면 선언을 거꾸로 읽는 것이 유용한 방법입니다.

  • 'const int'는 "a는 상수인 정수입니다."로 읽습니다.
  • 'int const'는 "a는 상수 정수입니다"라고 읽습니다.

의미

두 선언 모두 전달된 값이 함수 내에서 수정되었습니다. 그러나 C의 초기화 요구 사항('const int')은 추가 제약 조건을 추가합니다.

예:

<code class="cpp">const char *s;      // s is a pointer to a char that is constant
char *const t = &c; // t is a constant pointer to a char</code>
로그인 후 복사

이 경우 ' s'는 변경할 수 있지만(포인터이므로) 't' 값은 변경할 수 없습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿