구조체 및 공용 구조체 멤버

구조체와 공용 구조체의 멤버에 "구성원 선택 식"을 의미합니다.이러한 식의 값과 형식을 선택한 구성원의 있습니다.

postfix-expression . identifier
postfix-expression –> identifier

이 두 가지를 형식의 구성원 선택 식입니다.

  1. 첫 번째 폼에서 후 위 식 값을 나타내는 struct 또는 union 형식, 및 식별자 지정 된 구조체 또는 공용 구조체의 멤버 이름을 지정 합니다.작업의 값을이 식별자 및 하는 경우는 l-값이 후 위 식 는 l-값이.참조 하십시오 L 값 및 R-Value 식 에 대 한 자세한 내용은.

  2. 두 번째 폼에서 후 위 식 구조체 또는 공용 구조체에 대 한 포인터를 나타내는 및 식별자 지정 된 구조체 또는 공용 구조체의 멤버 이름을 지정 합니다.값인 식별자 는 l-값입니다.

구성원 선택 식에는 두 가지 유사한 효과가 있습니다.

실제로 멤버 선택 연산자를 포함 하는 식 (->)의 기간을 사용 하 여 식의 속기 버전입니다 (.) 식이 마침표 앞의 간접 참조 연산자 구성 됩니다 경우 (*) 포인터 값에 적용 됩니다.따라서

expression –> identifier

동일한 함수는

(*expression) . identifier

포인터 값입니다.

예제

다음 예제에서는이 구조체 선언 하기를 참조 하십시오.간접 참조 연산자에 대 한 내용은 (*)이이 예제 사용을 참조 하십시오 간접 참조 및 주소 연산자.

struct pair 
{
    int a;
    int b;
    struct pair *sp;
} item, list[10];

구성원 선택 식에는 item 구조를 다음과 같이 보입니다:

item.sp = &item;

위 주소를 예에서를 item 구조에 할당 되는 sp 구조체의 멤버입니다.따라서 item 자체에 대 한 포인터를 포함 합니다.

(item.sp)–>a = 24;

이 예제에서는 포인터 식 item.sp 멤버 선택 연산자에서 사용 되었습니다 (->) 멤버에 값을 할당 a.

list[8].b = 12;

이 문은 각 구조체 멤버는 구조체의 배열에서 선택 하는 방법을 보여 줍니다.

참고 항목

참조

멤버 액세스 연산자:. 한->