구조체와 포인터1. C 포인터 – 7장 포인터와 구조체 2010년 1월 25일 김요셉 1 4. 구조체와 포인터? ※Structsize 구조체에 선언된 type 의 크기들의 합 sizeof(struct) = sizeof(type)+···sizeof(type) ※Struct Pointer 구조체 주소를 저장하는 포인터변수 ※ 구조체의 접근 Dot( . ) 연산자를 이용하여 구조체의 변수에 접근할 수 있다. ※ 포인터로 구조체 접근 -> 연산자를 이용하여 구조체의 변수에 접근할 수 있다. 4 6. 구조체와 포인터? 6 sarr[0]->x(1) sarr[0] sarr[0]->y(1) sarr[1]->x(2) sarr[1] sarr[1]->y(2) sarr[2]->x(3) sarr[2] sarr[2]->y(3) sarr[3]->x(4) sarr[3] sarr[3]->y(4) sarr[4]->x(5) sarr[4] sarr[4]->y(5) 8. 구조체의 다차원 포인터? 8 spp(12FF74) 12FF70 +1 12FF74 sp(12FF78) +1 12FF78 1 s1 12FF7C 1 13. 구조체의 멤버 포인터 13 struct _string s1 12FF74 420024 str1 12FF78 str2[0] ( ‘A’ ) str2[0] 12FF79 ‘A’ str2[0] ( ‘B’ ) 420024 str2[1] 12FF7A ‘B’ str2[0] ( ‘C’ ) str2[2] 12FF7B s1 ‘C’ str2[0] ( ‘’ ) str2[3] 12FF7C ‘’ str2[4] 12FF7D str2[5] 12FF7E str2[6] 12FF7F str2[7] 17. 그럼?, 자신의 구조체의 주소를 저장하는 구조체를 선언해보자.※ 자기 주소를 저장하는 구조체의 선언 struct구조체 이름 { … … struct구조체 이름 * 포인터변수; } 15 18. 자기 주소를 저장하는 구조체 16 n1 data(10) link n2 data(20) link n3 data(30) link 19. 구조체를 이용한 linkedlist구조 17 p n1 data(10) link n2 data(20) link n3 data(30) link n4 data(40) link n5 data(50) link 23. 그러나 출력 결과는 모두 8이다. 즉, 컴파일러가 프로그램의 성능을 향상 시키기 위해서, 일정한 크기의 형태 (이 예시에서는 4byte)로 매핑 시키기 때문이다.