ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3.2 포인터
    자료구조(C)/배열,구조체,포인터 2020. 7. 13. 18:09

    포인터(pointer)

    다른 변수의 주소를 가지고 있는 변수이다.

    ex)

    포인터 p가 변수 a의 주소값을 가지고 있다.

    int a = 100;

    int *p;

    p = &a;

    p가 a를 가리킨다.

     

    포인터와 관련된 연산자

     

    & : 주소 연산자(변수의 주소를 추출한다.)

    * : 간접참조 연산자(포인터가 가리키는 곳을 가리킨다.)

        역참조 연산자라고도 한다.

    ex)

     

    int a;  //정수형 변수

    p = &a  //변수의 주소를 포인터로 저장

     

    int a = 20

    *p = 200;  //포인터 p가 가리키는 곳에 200을 저장한다

    -> a = 200;

     

    NULL 포인터

    어떤 객체도 가리키지 않는 포인터이다.

    포인터가 아무것도 가리키고 있지 않을 때는 항상 널포인터 상태로 만들어 두는 것이 좋다.

     

    함수 매개변수로 포인터 사용

    포인터는 함수의 매개변수로 전달될 수 있다.

    특정한 변수를 가리키는 포인터가 함수의 매개변수로 전달되면 그 포인터를 이용하여 함수 안에서 외부 변수의 값을 변경할 수 있다.

     

    배열과 포인터

    배열을 함수의 매계변수로 전달되면 함수 안에서 배열의 내용을 변경할 수 있다.

    왜냐하면 배열의 이름은 포인터 이다. 배열의 이름은 배열의 첫번째 주소를 가리키는 포인터 변수이다.

    그래서 함수의 매계변수로 전달 될 때, 그 함수 안에서 배열의 내용을 변경할 수 있는 것이다.

     

    동적 메모리

    '자료구조(C) > 배열,구조체,포인터' 카테고리의 다른 글

    3.4 구조체와 포인터  (0) 2020.07.17
    3.3 동적 메모리 할당  (0) 2020.07.17
    3.1 배열  (0) 2020.07.09

    댓글

Designed by Tistory.