• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    해결됨

구조체 포인터 관련 질문입니다!

20.08.29 17:05 작성 조회수 111

1

14:28분경 P라는 구조체의 포인터에 맴버 접근시 왜 dote( . )연산을 사용하는것 이죠? 포인터의경우 -> 연산자를 사용해서 접근해야하는것 아닌가요??

답변 2

·

답변을 작성해보세요.

1

struct person *p로 선언된 포인터 p는 struct person을 가리키는 포인터죠. p는 mmap()을 통해 메모리를 받아옵니다. 이제 p를 사용할 수 있죠.

질문하신 코드는 for()문 안에서 모든 struct person에 대한 정보를 출력하는 부분 입니다. 그래서 p[i].name로 출력하게 됩니다. p를 structure array처럼 사용한 것이죠. 첫번째 엔트리는 p->name로 출력할 수 있지만 두번째, 세번째 엔트리는 p[1].name, p[2].name로 출력하는게 편하죠 :)

구글링을 해보시면 많은 예제들이 있습니다.  "c structure array pointer example"으로 검색했더니 여러 가지 예제가 조회되었는데요, 그 중 아래 예제가 가장 보기 쉽게 구성되어 있는 것 같더라구요. 참고하세요~!

https://stackoverflow.com/questions/16201607/c-pointer-to-array-of-structs

0

zbqmgldjfh님의 프로필

zbqmgldjfh

질문자

2020.08.31

좋은답변 감사드립니다!!