C :: 1byte씩 메모리 읽기
ptr = (unsigned char *) &fNumber;
이 부분에 대해서는 지난 글에서 설명했었지요. 차이라고는 unsigned * 대신에 unsigned char *을 사용함으로써 4byte가 아닌 1byte씩 끊어 읽을 수 있다는 것입니다.
아래 코드를 한 번에 이해하셨다면 이미 포인터에 대해 이해하셨다고 봐도 될 것 같네요.
#include <stdio.h>
#define TYPE double
int main(void)
{
TYPE fNumber = 0;
unsigned char *ptr;
int i,j;
scanf("%lf", &fNumber);
ptr = (unsigned char *) &fNumber;
for( i=1;i<= sizeof(TYPE);i++)
{
for(j=7; j>=0 ;j--)
printf("%d", (*(ptr-i+sizeof(TYPE)) >> j ) & 0x01);
printf(" ");
}
printf("\n");
return 0;
}
도아 님은 주로 어떤 언어를 사용하시나요? 저 같은 경우는 정보보안전문가가 목표라 C와 PHP를 중점으로 익혀야 할 것 같아요. 지금은 C와 C++, GTK+를 공부중입니다.
포인터는 전혀 사용할 필요가 없는 언어를 사용하다 보니 이제는 가물 가물하군요.