#include<stdio.h>
int main(void)
{
double num = 3.14;
double *ptr=#
double **dptr=&ptr;
double ***tptr=&dptr;
double*ptr2=0;
printf("num의 위치를 나타낸다.\n%p 1\n%p 2\n%p 3\n%p 4\n",num,*ptr,**dptr,***tptr);
printf("ptr의 위치를 나타낸다. \n%p 1\n%p 2\n%p 3\n",ptr,*dptr,**tptr);
printf("dptr의 위치를 나타낸다. \n%p 1\n%p 2\n",dptr,*tptr);
printf("tptr의 위치를 나타낸다. \n%p 1\n",tptr);
빌드하면
printf("num의 위치를 나타낸다.\n%p 1\n%p 2\n%p 3\n%p 4\n",num,*ptr,**dptr,***tptr);
이부분
---------------------------------------
num의 위치를 나타낸다.
51EB851F 1
40091EB8 2
51EB851F 3
40091EB8 4
---------------------------------------
모두 num의 위치를 가르키는데 서로 위치값이 서로 다릅니다.
왜 그런걸까요. 다 같아야 하는게 아닌가요?
도움좀주시면 감사하겠습니다.
ps. 역시 고요한 밤입니다 ㅎㅎ
|