socket
-
[Pointer] 정수형을 문자형으로개발/C·C++ 2021. 5. 28. 22:28
정수형 포인터 변수를 초기화할 때 정수형 변수의 주소값을 넣는 이유는, 메모리에서 데이터를 읽는 간격이 자료형의 크기로 결정되기 때문입니다. int 포인터 변수 p는 ++p 연산을 하면 4바이트를 이동하고, short 포인터 변수 s는 ++s 연산을 하면 2바이트를 이동합니다. 컴파일 단계에서, 메모리 크기 단위를 포인터의 타입으로 파악할 수 있습니다. 때문에 포인터의 타입을 다른 타입으로 변환하다고 해서, 역참조하고 있는 내용이 바뀌는 건 아닙니다. 아래 예제를 봅시다. s1에는 260, s2에는 2를 할당했습니다. 구초제 포인터의 타입 캐스팅을 통해 Family1의 객체인 f1의 주소값을 Family2 포인터 변수에 넣었습니다. f1의 short 변수들은 f2의 char 배열에 할당됩니다. 260인 ..