구조체 포인터
개념
- Structure Pointer
- 기본 자료형의 포인터와 동일하게, 구조체의 포인터를 선언할 수 있다.
문법
예시
1
2
3
4
5
6
7
8
9
| typedef struct {
char name[10];
int age;
float height
} Person;
Person person = {"김철수", 32, 188.5f};
Person *pPrsn;
pPrsn = &person;
|
구조체 포인터의 멤버 참조
. 연산자를 이용한 참조
. 연산자를 이용해 멤버 참조를 할 수 있다.
. 연산자의 우선순위가 * 연산자보다 높으므로, 괄호가 필요하다.
1
2
3
4
5
6
| Person person = {"김철수", 32, 188.5f};
Person *pPrsn;
pPrsn = &person;
printf("%s, %d, %f\n", (*pPrsn).name, (*pPrsn).age, (*pPrsn).height);
// 출력 : 김철수, 32, 188.5
|
구조체 포인터 멤버 액세스 연산자 ->를 이용한 참조
-> 연산자를 이용해 구조체 포인터에서 멤버를 참조할 수 있다.
1
2
3
4
5
6
| Person person = {"김철수", 32, 188.5f};
Person *pPrsn;
pPrsn = &person;
printf("%s, %d, %f\n", pPrsn->name, pPrsn->age, pPrsn->height);
// 출력 : 김철수, 32, 188.5
|
Reference
C 프로그래밍 (김형근, 곽덕훈, 정재화 공저)
C 프로그래밍 강의 (방송통신대 - 이병래)
Comments