#include <iostream>
using namespace std;
//포인터
int main()
{
// 포인터를 사용하지 않은 방식
// number라는 이름의 4바이트 정수 타입의 바구니를 만든다.
// number라는 변수 스택 메모리에 할당
// number = 1라 함은, number 바구니에 1이라는 숫자를 넣으라는 의미
// 따라서 스택 메모리에 있는 특정 주소(number 바구니)에 우리가 원하는 값을 넣은 셈
// number는 비유하자면 메모리에 이름을 붙인 것
// 원본 수정 시 불편
int number = 1;
//포인터 선언
//TYPE* 변수이름;
//일단 2가지 요소
//- TYPE
//- *
//주소를 저장하는 역할이다
//변수 선언할 때 * -> 포인터를 사용함
//&변수명 -> 변수의 주소를 뜻함
//참고) 포인터의 크기는 4바이트(32비트컴퓨터) 혹은 8바이트(64비트 컴퓨터)로 고정크기
//- 변수 선언 단계의 *: 주소를 저장하는 변수이다.
//- 사용 단계의 *: 주소로 이동한다.
int* ptr=&number;
*ptr = 2;
cout << number << endl;
return 0;
}