서적 정리/C++ 기초 플러스

20.변수형의 조합

민돌이2 2022. 8. 9. 17:01

배열, 구조체, 포인터를 조합하여 사용할 수 있다.

struct YearsEnd
{
	int year;
	int end;
};

위 구조체가 있을 때 아래와 같이 생성할 수 있다. 또한 도트 연산자를 사용하여 멤버에 접근할 수 있다.

YearsEnd s01, s02, s03;

s01.year = 1998;
s01.end = 2007;

 

이러한 구조체에 대한 포인터를 생성할 수 있다.

YearsEnd* pa = &s02;

포인터가 유효한 주소를 가리킬 경우, 화살표 연산자를 사용하여 멤버에 접근할 수 있다.

pa->year = 1999;

 

구조체들의 배열을 생성할 수 있다. 또한 도트 연산자를 사용하여 원소의 멤버에 접근할 수 있다.

YearsEnd trio[3];

trio[0].year = 2003;

trio는 배열이고, 배열의 이름은 포인터를 나타이므로, 화살표 멤버 연산자를 사용할 수 있다.

(tior+1)->year = 2004; //trio[1].year = 2400;와 동일하다.

 

포인터 배열을 생성할 수 있다.

const YearsEnd* arp[3] = { &s01, &s02, &s03 };

이 배열의 데이터에 접근하기 위해선 화살표 멤버 연산자를 사용해야 한다.

std::cout << arp[1]->year << std::endl;
728x90