|
포인터에 대해 갑자기 헷갈려 이렇게 고수님들의 가르침을 받고자합니다.
typedef struct __PLAYER
{
AEEApplet m_AEE;
AEEPoint m_myPoint;
AEEPoint m_comPoint;
IImage *m_pImg_Player[29];
IImage *m_pImg_Com[29];
byte m_myState;
byte m_myShotState;
byte m_comShotState;
byte m_myAniArrayNum;
byte m_comAniArrayNum;
byte m_myAniArray[6];
byte m_comAniArray[6];
}PLAYER;
....
draw()
{
.......
DrawMotion(pPlayer,true);
.....
}
DrawMotion(PLAYER *pPlayer,boolean IsPlayer)
{
if(IsPlayer)
{
byte *AniArray = &pPlayer->m_myAniArray;
byte *AniArrayNum = &pPlayer->m_myAniArrayNum;
IImage *ImgPlayer = &pPlayer->m_pImg_Player;
byte *Playerstate = &pPlayer->m_myState;
AEEPoint *Point = &pPlayer->m_myPoint;
} else {
byte *AniArray = &pPlayer->m_comAniArray;
byte *AniArrayNum = &pPlayer->m_comAniArrayNum;
IImage *ImgPlayer = &pPlayer->m_pImg_Com;
byte *Playerstate = &pPlayer->m_comState;
AEEPoint *Point = &pPlayer->m_comPoint;
}
.......
*AniArrayNum = 2;
}
제일 위의 구조체를 포인터로 선언 및 정의 한후 매번 draw 함수에서에서 DrawMotion()
를 호출하면 DrawMotion에서는 IsPlayer에 의해 각각 DrawMotion에서 만든 포인터
변수에다 주소를 넘겨주는데 만약 DrawMotion을 여러번 호출 하면서 위 처럼 되어
있어도 아무 문제가 없는지요 ?
한 수 가르침 부탁드립니다.^^;;;
|