Mr. A 를 찾아라!
<예 #1>
#include <stdio.h>
int a = 0;
void main()
{
int a = 1;
{
int a = 2;
{
int a = 3;
}
}
}
<예 #1>
굵게 표시된 부분은 참조만 할 것
-> 포인터의 내용이 들어가므로 참조만 하세요!
#include <stdio.h> // for printf()
#include <stdlib.h> // for malloc, free
int a = 0;
void main()
{
printf("a : %d, &a : %p\n", a, &a);
int a = 1;
printf("a : %d, &a : %p\n", a, &a);
{
int a = 2;
printf("a : %d, &a : %p\n", a, &a);
{
int a = 3;
printf("a : %d, &a : %p\n", a, &a);
{
int *a;
a = (int*)malloc(100000000*sizeof(int));
*a = 4;
printf("*a : %d, a : %p, &a: %p\n", *a, a, &a);
{
int *a;
a = (int*)malloc(100000000*sizeof(int));
*a = 5;
printf("*a : %d, a : %p, &a: %p\n", *a, a, &a);
free(a);
}
printf("*a : %d, a : %p, &a: %p\n", *a, a, &a);
free(a);
}
printf("a : %d, &a : %p\n", a, &a);
}
printf("a : %d, &a : %p\n", a, &a);
}
printf("a : %d, &a : %p\n", a, &a);
}
결과
a : 0, &a : 004284F0
a : 1, &a : 0012FED4
a : 2, &a : 0012FEC8
a : 3, &a : 0012FEBC
*a : 4, a : 00430040, &a: 0012FEB0
*a : 5, a : 181B0040, &a: 0012FEA4
*a : 4, a : 00430040, &a: 0012FEB0
a : 3, &a : 0012FEBC
a : 2, &a : 0012FEC8
a : 1, &a : 0012FED4
Press any key to continue