Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

Code Habit

포인터의 개념 본문

카테고리 없음

포인터의 개념

코드베어 2020. 3. 31. 18:01

데이터가 저장된 메모리의 시작주소를 주소값이라 하고 이를 가리키는 것을 포인터라고 한다.

int n = 1;
int* pn = &n;

 

포인터는 아래 주소 연산자(&)와 참조 연산자(*)로 사용할 수 있다. 

  • 주소 연산자(&) : 변수의 이름 앞에 사용하여, 해당 변수의 주소값을 반환한다.
  • 참조 연산자(*) : 포인터의 이름이나 주소 앞에 사용하여, 포인터가 가리키는 주소에 저장된 값을 반환한다.

문자열이나 배열에서 사용되는 변수명은 시작주소를 가리키는 포인터이다.

char sz[100] = {"string"}; // sz는 문자열 "string"의 시작주소
int nArray[20]; // nArray는 배열의 시작주소

 

포인터 변수는 메모리에서 변수의 위치를 나타내는 주소를 다루는 변수이므로, 그 크기는 일반적으로 CPU에 따라 결정된다. 보통 32비트 CPU에서는 4byte, 64비트 CPU에서는 8byte의 크기를 갖는다.

 

포인터는 코드의 복잡성을 높일 수 있지만, 메모리에 직접 접근하여 다루기 때문에 프로그램의 성능을 최적화 하는데 이점이 있다.