반응형
#include<iostream>
using namespace std;
struct kgs
{
int id;
kgs *p;//자기자신을 가리킴
};
int main(void)
{
kgs a,b,c;
a.id = 1;
a.p = &b;
b.id = 2;
b.p =&c ;
c.id = 3 ;
c.p = &a;
//(*a.p).id 동일함,a.p 는 현재 b의 주소를 들고잇다.따라서 *a.p는 b자체를 의미함 =-->b.id와 같음,따라서 a.p->id 처럼 할수잇음
//다른 해석방법:a.p 는 a의 멤버 p임,a.p->id는 a의 멤버 p가 가리키는 구조체의 멤버 id 라는 뜻임,즉,,, b의 멤버 id가 된다
cout<<a.id <<endl;
cout<<a.p->id <<endl; //b.id와 같음
cout<<a.p->p->id <<endl;//c.id 와같다
cout<<a.p->p->p->id <<"다시 a를 연결"<<endl;//a.id
return 0 ;
}
반응형