강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của zbqmgldjfh0405
zbqmgldjfh0405

câu hỏi đã được viết

Lập trình hệ thống Linux - Lý thuyết và thực hành

bản đồ bộ nhớ - lập trình trực tiếp

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

Đã giải quyết

Viết

·

239

1

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

linux

Câu trả lời 2

1

learnit님의 프로필 이미지
learnit
Người chia sẻ kiến thức

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
Người đặt câu hỏi

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

Hình ảnh hồ sơ của zbqmgldjfh0405
zbqmgldjfh0405

câu hỏi đã được viết

Đặt câu hỏi