포인터

2022. 9. 5. 15:44C++/개인메모

우리가 변수를 생성할때 이러한 데이터를 저장하기 위해 메모리에 저장할 공간을 할당받는다. 이 저장할 공간은 각각의 주소가 존재하며, 데이터의 주소값은 해당 데이터가 저장된 메모리의 시작 주소를 의미한다.

 

int는 정수를 저장하는데 사용되는 변수명.

char는 문자를 저장하는데 사용되는 변수명.

포인터는 주소값을 저장하는데 사용되는 변수명이다.

 

포인터에 사용되는 연산자는 주소 연산자(&), 참조 연산자(*) 두 가지가 있다.

 

 

주소 연산자(&)는 변수의 이름 앞에 사용되며 해당 변수의 주소값을 반환한다.

 

참조 연산자(*)는 이름이나 주소 앞에 사용하여, 포인터에 저장된 주소에 저장된 값을 반환한다.

포인터의 선언에도 사용되기도 한다.

 

포인터는 주소값을 저장하기 때문에 포인터를 참조하여 해당 주소의 데이터를 변환하면 실제 데이터가 변환된다.

 

포인터 변수의 크기는 시스템(운영체제)에 따라 결정된다.

32bit의 시스템은 최대 0~2^32 가지의 주소가 존재할 수 있고,

이에따라 주소값의 크기는 32개의 이진수 즉, 32bit = 4byte가 된다.

마찬가지로 64bit의 시스템에선 포인터 변수의 크기가 8byte, 16bit 시스템에선 2byte가 될 것이다.

'C++ > 개인메모' 카테고리의 다른 글

메모리의 구조  (0) 2022.12.13
상속과 포인터  (0) 2022.10.17
객체 지향 프로그래밍의 5원칙/5가지 특성  (2) 2022.09.26
const, mutable  (0) 2022.09.01
ios::sync_with_stdio(false)  (0) 2022.08.30