구조체 포인트에서 멤버변수에의 접근문제

김영훈의 이미지

아래 프로그램을 컴파일 해보면

int main(void)
{
        struct sockaddr_in sock;
        struct sockaddr_in* psock;
 
        psock = &
        sock.sin_addr.s_addr = 1000;
  
        printf("psock->sin_addr->s_addr = %d\n", psock->sin_addr->s_addr);
        return 0;
}

Quote:
memcmp.c: In function `main':
memcmp.c:17: invalid type argument of `->'

이런 컴파일 에러가 뜨네요...

구조체 포인트에서 구조체 멤버 변수에 접근이 불가능한가요?
답변에 미리 감사드립니다.

new5244의 이미지

printf("psock->sin_addr->s_addr = %d\n", psock->sin_addr->s_addr);

->

psock->sin_addr.s_addr

psock 는 sock 의 주소만 가지고 있는 것이고요
멤버변수는 동일한 방법으로 접근하면 됩니다.

from saibi