>  기사  >  백엔드 개발  >  C 변수 선언에서 괄호의 목적은 무엇입니까?

C 변수 선언에서 괄호의 목적은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-01 10:39:02388검색

What's the Purpose of Parentheses in C   Variable Declarations?

C에서 괄호로 묶인 변수 선언

C에서 괄호 안에 변수를 선언한다는 개념이 놀랍게 보일 수 있습니다. 다음 코드 조각을 고려해 보세요.

<code class="c++">int main() {
    int(s);
}</code>

놀랍게도 이 코드 조각은 "s"라는 유효한 변수를 생성합니다. 이 동작을 이해하기 위해 C 표준의 관련 섹션을 자세히 살펴보겠습니다.

표준 상태의 [dcl.meaning]:

"선언 T D에서 D는 다음 형식( D1 ), 포함된 declarator-id의 유형은 선언 T D1에 포함된 declarator-id의 유형과 동일합니다."

간단히 말하면 괄호는 포함된 declarator-id의 유형을 변경하지 않습니다. . 오히려 복잡한 선언자의 바인딩에 영향을 미칠 수 있습니다.

제공된 예에서 식별자 "s"는 선언자입니다. 주변의 괄호는 의미나 유형에 영향을 주지 않지만 더 복잡한 시나리오에서는 유용할 수 있습니다. 예를 들면 다음과 같습니다.

<code class="c++">int * a [10];     // a is an array of ten pointers to int.
int ( * b ) [10]; // b is a pointer to an array of ten ints.</code>

이 예에서 괄호는 선언자의 바인딩을 변경하여 변수 유형을 변경합니다. 괄호가 없으면 "a"는 10개의 int 배열에 대한 포인터이고 "b"는 int에 대한 10개의 포인터 배열이 됩니다.

변수 선언에서 괄호의 역할을 이해하는 것은 변수를 이해하는 데 중요합니다. 고급 C 구문과 효과적인 코드 작성.

위 내용은 C 변수 선언에서 괄호의 목적은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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