computer science/C

포인터(pointer)

초록꼬마 2023. 6. 2. 22:20

🌿 개념

  • 실제적인 데이터 값, literal(x) 어떤 데이터가 저장된 기억공간의 주소/번지(o)가 저장되어있는 변수 → 프로그래머가 기억공간을 변수명(x) 주소(o)로 직접 접근하기 위해 사용 → 기억공간의 효율적 이용을 가능하게 함
  • 기억공간의 주소 = 포인터 값 → 포인터 = 변수의 주소 값을 갖는 특별한 변수

출처: https://prepinsta.com/all-about-c-language/pointers/

🌿 선언

  • 자료형 *포인터변수명;
int *p; // 의미 = 변수 p는 정수형의 자료를 갖는 변수의 주소를 가지는 포인터 변수
  • 위와 같이 포인터 변수가 선언되면 2개의 자료가 준비됨
    • p = 포인터 변수, 정수형 자료가 수록되어 있는 주소를 가지고 있음
    • *p = 해당 주소에 수록되어 있는 정수형 자료를 갖고 있음
  • 포인터 변수를 선언한 후 사용하기 위해서 사용되는 포인터 연산자
    • & = 주소 연산자 = 일반 변수명 앞에 붙임, 모든 변수에 대한 주소값을 구하는 연산자 → 포인터 변수에 해당 변수의 주소값을 대입/치환
    • * = 내용 연산자 = 포인터 변수명 앞에 붙임, 포인터 변수가 가리키는 주소의 자료/내용을 구하는 연산자

🌿 참조(reference)

  • 포인터 변수를 참조한다 = 포인터 변수가 가리키는 내용을 읽어내거나 값을 대입