- 다음과 같이 int 형 변수 value에 0x2F24263F를 정의한 후, char * 변수 pc를 선언하고, pc 변수를 이용하여 value의 저장 값을 각각 byte 단위로 인지하여 각각의 문자를 출력하는 프로그램을 작성하시오.
- value n = 0x2F24263F;
- 각각 2F는 문자 ‘/’, 24는 ‘$’, 26은 ‘&’, 3F는 ‘?’이며, 순서는 이의 역순으로 출력
- 즉 ? & $ / 순으로 출력하며, 각각의 주소 값도 출력한다
#include<stdio.h>
int main()
{
int value = 0x2F24263F;
int *pi = &value;//주소값을 정수로 받고 pi = &value
char *pc = (char*)&value;//형변환을 통해 문자로 변환 pc =&value 기
// char는 1byte 짜리 이므로, char로 변환함으로써 1byte씩 이동가
printf("변수 저장값 주소값\n");
printf("\n");
printf("value %06x %u\n",value,&value);
int i;
for(i=0;i<=3;i++)//4개의 문자를 각각 byte로 출력해야 한다. 4번 반복문 만들
{
char ch = *(pc+i);//pc = &value --> *pc = value
// 대신에 해당하는 value 값을 , 그에 맞는 문자로 출력
printf("*(pc+%d) %0#x %c %u\n",i,ch,ch,pc+i);
//pc+i 값의 주소는 각각의 주소값을 출력함을 의미한다.
}
return 0;
}
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'C&C++_Basic > C_Pointer' 카테고리의 다른 글
Double 을 int byte로 나눠서 사칙연산 (0) | 2020.05.02 |
---|---|
C언어 char변수 16진수 4칙연산 (2) | 2020.03.19 |
C언어 원금,예금출력 (0) | 2020.03.19 |
#C언어 배열 : 이차원 " 배열 포인터 " (0) | 2020.01.14 |
# C언어 포인터 : const 포인터 상수 기초 1( 포인터에 붙이기 VS 상수에 붙이기 ) (0) | 2020.01.14 |