[조유진]5장 연습문제
1번
#include< stdio.h >
int main()
{
int inumber = 25;
float fnumber = 34.5f;
char ch = 'g';
printf( "inumber : %d\n", inumber );
printf( "&inumber : 0x%08X\n", &inumber );
printf( "fnumber : %d\n", fnumber );
printf( "&fnumber : 0x%08X\n", &fnumber );
printf( "ch : %d\n", ch );
printf( "&ch : 0x%08X\n", &ch );
return 0;
}
2번
#include< stdio.h >
int main()
{
int *ip;
float *fp;
char *cp;
int inumber = 25;
float fnumber = 34.5f;
char ch = 'g';
ip = &inumber;
fp = &fnumber;
cp = &ch;
printf( "inumber : %d\n", *ip );
printf( "fnumber : %3.1f\n", *fp );
printf( "ch : %c\n", *cp );
return 0;
}
3번
#include< stdio.h >
int main()
{
int i;
unsigned char *cp;
float fnumber = 38.9;
cp = (unsigned char *)&fnumber;
for( i=0; i<sizeof(fnumber); ++i )
{
printf( "%c ", *(cp+i) );
}
printf( "\n" );
for( i=0; i<sizeof(fnumber); ++i )
{
printf( "%02X ", *(cp+i) );
}
printf( "\n" );
return 0;
}
4번
#include< stdio.h >
int main()
{
unsigned int *ip;
int inumber;
scanf( "%d", &inumber );
ip = (unsigned int *)&inumber;
*ip = *ip * 2;
printf( "%d\n", *ip );
return 0;
}
5번
#include< stdio.h >
int main()
{
int *ip;
float *fp;
char *cp;
printf( "int * : %d\n", sizeof( *ip ) );
printf( "float * : %d\n", sizeof( *fp ) );
printf( "char * : %d\n", sizeof( *cp ) );
return 0;
}
6. 주소값을 저장하는 변수를 포인터 변수라고 한다.
7. 포인터 변수가 아무 것도 가리키지 않고 있는 것을 설정할 때는 NULL을 넣는다.
7번은 맞는 지 모르겠네요;;;