0. 왜 레퍼런스 변수가 필요할까?#include void updateValue(int *ptr){ *ptr = 42;}int main(){ int x = 10; updateValue(&x); return 0;} - 이런 복잡한 포인터 문법 없이 더 직관적으로 값을 수정하는 방법이 있다.- 그것을 레퍼런스 변수라고 한다. 1. 레퍼런스 변수란?- 레퍼런스 변수는 기존 변수를 별칭(alias)처럼 참조하는 변수이다.int x = 10;int &ref = x;ref = 20;std::cout 1.1. 포인터와 차이점포인터레퍼런스 변수별도로 메모리를 차지함메모리 공간 차지하지 않음*를 사용해 간접 참조바로 값을 사용 가능초기화 후 다른 변수 참조 가능초기화 시 한 번만 변수 참조 가능 ..
포인터

1. 메모리 주소(Memory address)- 포인터를 알아가기 전에 데이터가 메모리에 저장되는 구조에 대해서 알아보자.- 다음 예시는 각각 다른 데이터타입을 가진 변수를 선언한 코드이다.#include int main(){ char a = 'A'; int b = '10'; double c = '123.45';} - 해당 코드를 실행하면 메모리에서 다음과 같이 데이터가 저장이 된다. - 해당 프로그램이 동작할 땐, CPU가 주소를 통해 특정 메모리 공간에 접근하게 된다.- 변수를 선언하게 되면 자료형의 크기에 맞게 공간이 확보가 되고, 해당 공간에 데이터를 기록한다.- 데이터가 담기는 공간의 시작 메모리 주소는 실행할 때 마다 달라진다.- 이러한 시작 메모리 주소는 데이터를 접근할 때 매우 ..