|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6371 [복사]
c언어를 공부하다 이해가 안 되서 올립니다.
int형 변수의 크기가 4바이트라고 알고있거든요,
그런데 dev c++에서 아래 소스를 컴파일하니까,
----------------------------------------
#include <stdio.h>
#include <conio.h>
main()
{
int a=1;
int b=2;
int c=3;
printf("a의 값:%d\n",a);
printf("a의 크기:%d\n",sizeof(a));
printf("a의 주소:%d\n",&a);
printf("b의 값:%d\n",b);
printf("b의 크기:%d\n",sizeof(b));
printf("b의 주소:%d\n",&b);
printf("c의 값:%d\n",c);
printf("c의 크기:%d\n",sizeof(c));
printf("c의 주소:%d\n",&c);
getch();
}
----------------------------------------
========================================
a의 값:1
a의 크기:4
a의 주소:2293572
b의 값:2
b의 크기:4
b의 주소:2293568
c의 값:3
c의 크기:4
c의 주소:2293564
========================================
이런식으로 주소의 차이가 4씩 났습니다.
그런데 visual c++ 2010에서 위 소스를 컴파일하니까
========================================
a의 값:1
a의 크기:4
a의 주소:2226532
b의 값:2
b의 크기:4
b의 주소:2226520
c의 값:3
c의 크기:4
c의 주소:2226508
========================================
이런식으로 주소의 차이가 12씩 나네요.
왜 이런 건가요?
이해가 안되네요ㅠ
|
Hit : 4320 Date : 2013/07/30 09:34
|