Cộng đồng Hỏi & Đáp của Inflearn
구조체 포인터 관련 질문입니다!
Đã giải quyết
Viết
·
250
1
14:28분경 P라는 구조체의 포인터에 맴버 접근시 왜 dote( . )연산을 사용하는것 이죠? 포인터의경우 -> 연산자를 사용해서 접근해야하는것 아닌가요??
Quiz
opendir, readdir, closedir API를 사용하는 주된 목적은 무엇일까요?
파일 내용을 읽거나 쓰는 것
디렉토리 내 파일 및 서브 디렉토리 목록을 확인하고 탐색하는 것
새로운 파일을 생성하고 초기화하는 것
파일 또는 디렉토리의 이름을 변경하는 것
Câu trả lời 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





