매일 눈팅만 하다가 질문이 생겨서 확 가입해버렸네요 ㅎㅎ
소켓 프로그래밍 보던 도중에 궁금한점이 있어서 질문드려요
char형 배열에 int형 정수를 집어 넣어야 합니다 .
그래서
char buf[10];
scanf("%d", (int*)&buf[0]);
buf[0] 에 int형 정수를 집어 넣습니다 .
그 후에 정수를 다시 꺼낼때
printf("%d", buf[0]);
127까지는 출력이 잘 됩니다만 , 128부터는 char 형 출력하듯이 1바이트 기준으로(char형) 값이 나오는거 같더군요 ..
( 128 입력시 -128 출력 됨 )
int* tt = &buf[0];
printf("%d", *tt);
이렇게 주소를 넘겨주고 나서 출력시에는 출력이 잘 됩니다만 ...
제 생각으로는
printf("%d", (int)buf[0]); 로 써도 출력이 잘 되야 맞는거 같은데 ..
어떤 부분을 잘못 이해하고 있는걸까요 ?