C언어 아 너무 답답해서 질문 올립니다.
C언어 자료형 int, long 같은 경우 컴파일을 32bit,64bit으로 하느냐에 따라서. 자료형이 달라진다고 알고있습니다.
그래서, 확인을 하기 위해서..
Visual studio 2013 을 받아서..
32bit 컴파일 때와 64bit 컴파일을 돌릴때,
sizeof 실행시.... 도두다 4byte로 나옵니다.
하지만, 인터넷 검색이나, 답변을 찾아보면... 분명히 64bit 컴파일 환경일때는... long은 8byte가 나와야 되는데요.
그래서... 제가 무엇인가 잘못 설정했나해서?
구조체 하나를 선언했습니다.
struct test{
long a;
char *b;
void(*test_fn)(int);
}
32bit 환경에서 구조체 크기를 찍어보면
long 4, char 포인터 4, 함수포인터 4해서.. 12가 찍힙니다.