구조체 변수와 구조체 포인터 변수의 멤버변수 접근법
다음과 같은 구조체가 있다고 할때
typedef struct
{
int price;
int count;
} Item;
Item item; //구조체 변수
Item *ptrItem; //구조체 포인터 변수
ptrItem = &item;
일반적인 구조체 변수가 있고, 구조체 포인터 변수가 있다.
일반적인 구조체 변수가 구조체 멤버 변수에 접근코자 할 때는 . 연산자로 접근하고
예) item.price = 100;
반면에 구조체 포인터 변수가 구조체 멤버 변수에 접근코자 할 때는 -> 연산자로 접근한다.
예) ptrItem->price = 100;
아래는 샘플 코드이다.
#include <stdio.h>
typedef struct
{
char name[20];
int price;
int count;
} Item;
void main()
{
Item item = {"수박", 100, 30}; //item은 구조체 변수
Item *ptrItem; //ptrItem은 구조체 포인터 변수
ptrItem = &item;
printf("%s\n", item.name);
printf("%d\n", item.price);
printf("%d\n\n", item.count);
printf("%s\n", ptrItem->name);
printf("%d\n", ptrItem->price);
printf("%d\n", ptrItem->count);
}