|
별것 아닌 것 같지만.. 잘 이해가 안되서요..
수고스럽더라도 답변 부탁드립니다..
#include <stdio.h>
#include <alloc.h>
main()
{
int*p;
int i;
p = (int*)malloc(sizeof(int));
p =p+ 20;
printf("\np : %d 번지\n",p);
for (i=0 ; i<6 ; i++)
printf("\n %d 번지 : %x", p+i , *(p+i));
}
이렇게 해서 컴파일을 해보면...
우선 주소값을 그냥 100이라고 봤을때..
100 번지 : 0
102 번지 : 0
이런식으로 나올꺼라 생각했는데요..
그렇게 안나오네요..
100 번지 : 0
104 번지 : 0
int 형으로 포인터를 선언해주면.. 2바이트씩 건너 뛰어야 하는게 아닌지..
long형으로 선언해줘도 똑같구요..
그렇다면 int 형으로 선언한거랑 무슨 차이가 있는지..ㅡㅡ;
아래글보니.. c랑 c++이랑 포인터에 약간의 차이가 있다는데..
혹시 이런게 차이가 있는것은 아니겠죠?
아시는 분의 답변 기다리겠습니다..
|