2016년 7월 27일 수요일

구조체 변수와 구조체 포인터 변수의 멤버변수 접근법





구조체 변수와 구조체 포인터 변수의 멤버변수 접근법
다음과 같은 구조체가 있다고 할때

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);
}

댓글 없음:

댓글 쓰기