[Q/A] volitile 포인터에 대해서 질문입니다.

/*___________________________________________________________

#define _EDU_CS4 0xf3000000

#define MOTOR (* ( (volatile unsigned char *)(_EDU_CS4) ) )
 __________________________________________________________*/


여기에서 MOTOR가 포인터의 포인터가 되는데

#define MOTOR ( (volatile unsigned char *)(_EDU_CS4) )

위와 같이 그냥 포인터로 해도 되지 않습니까?

 

 

 

첫번째 처럼 쓰시려면.... 다음과 같이 해야 하구요...

 

#define MOTOR (* ( (volatile unsigned char *)(_EDU_CS4) ) )

int main( int argc, char **argv )
{

printf( "MOTOR = %d\n", MOTOR );
MOTOR = 0x12;

return 0;
}

 

두번째 처럼 쓰시려면... 아래와 같이 해야 할 것 같습니다.

#define MOTOR ( ( (volatile unsigned char *)(_EDU_CS4) ) )

int main( int argc, char **argv )
{

printf( "MOTOR = %d\n", *MOTOR );
*MOTOR = 0x12;

return 0;
}

... 첫번째 처럼 쓰시면 MOTOR를 생각없이(?) 변수처럼 쓰실 수 있죠

'QnA' 카테고리의 다른 글

[Q/A] nCS, nOE, nWE ?  (0) 2009.07.06
close-on-exec ??  (0) 2009.07.06
[Q/A] Address decoding  (0) 2009.06.22
[답변] PCI Device의 BASE ADDRESS 처리에 대한 ?  (0) 2009.06.17
[답글] PXA255의 Memory Address에 대해서...  (0) 2009.06.17

WRITTEN BY
RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,