본문 바로가기
카테고리 없음

구조체 포인터 1탄

by ByteBridge 2013. 2. 20.
반응형

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

반응형