본문 바로가기

포인터

C/C++ 포인터 기본 C/C++에서 포인터는 처음에 이해하기 어려운 개념입니다.메모리의 어느 지점을 가리키는 포인터때문에 C/C++에 흥미를 잃고는 합니다.사실 포인터는 하나의 타입일 뿐입니다.C를 처음 공부할 때 쓰는 scanf()를 사용할 때는 printf()와는 다르게 변수명 앞에 &를 붙입니다. 이 &가 변수의 주소값을 나타내다는 것을 알고 있습니다.포인터는 바로 이런 메모리의 주소를 저장하는 타입입니다.변수는 메모리의 영역에 붙어있는 이름입니다. 변수가 선언되면 다음과 같이 메모리 영역이 확보가 됩니다.int형 변수를 선언하면 이렇게 4바이트의 메모리가 할당됩니다.포인터의 선언은 타입명* 변수명;의 형태로 선언합니다.포인터는 흔히 후라이팬과 손잡이로 표현이 많이 되곤 합니다.후라이팬의 중심부는 실제 할당된 메모리로 .. 더보기
64비트 Windows 환경에서의 int 사이즈 일반적으로 32비트 환경에서와 64비트 환경에서 int, long 형의 크기가 달라지는 것으로 생각을 합니다. 32비트에서는 32비트인 4바이트, 64비트에서는 8바이트로 변경되는 것으로 알고 있지만 실제로는 int, long형은 Windows 환경에서는 4바이트로 동일한 크기입니다. Linux 환경에서는 long형만 8바이트로 변경된다고 합니다.int가 4바이트기 때문에 실제 8바이트의 int를 사용하기 위해 Windows에서는 __int64를 사용하시는 것이 좋습니다.또한 4바이트 int인 __int32도 정의되어 있습니다.그렇기 때문에 정확한 구분이 필요하다면 __int64와 __int32를 구분해서 사용하면 됩니다.64bit와 32bit에 따라서 8바이트에서 4바이트로 크기가 변경되는 타입은 포인.. 더보기