본문 바로가기

Programming/C++ 2

[C++ 실습] 4장-09. 변수형의 조합

반응형
#include <iostream>
using namespace std;

struct antarctica_years_end
{
	int year;
};

int main()
{
	antarctica_years_end s01, s02, s03;
	s01.year = 1998;
	antarctica_years_end* pa = &s02;
	pa->year = 1999;
	antarctica_years_end trio[3]; //3개 구조의 배열
	trio[0].year = 2003;
	cout << trio->year << endl;
	const antarctica_years_end* arp[3] = { &s01, &s02, &s03 };
	cout << arp[1]->year << endl;
	const antarctica_years_end** ppa = arp;
	auto ppb = arp; //C++11 자동 형태 완성
	//const antarctica_years_end **ppb =arp;

	cout << (*ppa)->year << endl;
	cout << (*(ppb + 1))->year << endl;


	return 0;
}

s01.year = 1998; : 구조체변수.멤버변수

pa->year = 1999; : 구조체포인터->멤버변수

 

 

antarctica_years_end trio[3]; 

trio[0].year = 2003;

cout << trio->year << endl;

 

->구조체 배열

->배열 이름이 포인터 -> 멤버변수

 

(trio+1) -> year=2004;

trio[1].year=2004;

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

cout << arp[1]->year << endl;

:포인터배열-> 멤버변수

 

const antarctica_years_end** ppa = arp;
auto ppb = arp;

-> 포인터배열에 대한 포인터

 

포인터의 포인터 : **

포인터배열의 첫번째원소가 포인터이므로 **

 

cout << (*ppa)->year << endl; : **ppa : &s01 => &s01의 year 변수

cout << (*(ppb + 1))->year << endl; : ppb+1 : &s02 => &s02의 year 변수

반응형