cheoly's language study blog

'주소'에 해당되는 글 1건

  1. [C언어] 프로그래밍의 꽃 포인터! 포인터란?

[C언어] 프로그래밍의 꽃 포인터! 포인터란?

프로그래밍/C언어
반응형
SMALL

C언어에서 포인터는 메모리의 주소값을 저장하는 변수입니다. 포인터를 이해하기 전에 변수와 메모리, 메모리의 주소체계를 확인해보고 넘어간다. 변수를 선언한다는 것은, "메모리의 특정공간을 할당해서 그곳에 데이터를 저장하겠다"는 의미입니다.

포인터 변수가 주소를 저장하려면 변수의 주소를 알아야 하는데 변수 이름 앞에 & 연산자를 붙이면 해당 변수의 시작 주소를 반환합니다. 더 나아가서 포인터 변수가 저장하는 변수의 주소에 저장된 값을 참조하려면 * 연산자를 사용합니다.

포인터 변수도 변수이므로 사용하려면 먼저 선언을 해야합니다. 포인터 변수의 선언은 자료형 다음에 *연산자를 붙이고 포인터 변수의 이름을 쓰게 됩니다.

예시를 보며 자세히 알아볼까요.

다음은 포인터 변수의 선언과 사용에 대한 예제입니다.

#include <stdio.h>

int main() {
    int * p = NULL;
    int i = 10;

    p = &i;
    printf("변수 i의 주소값 : %p \n", &i);
    printf("포인터 p의 값 : %p \n", p);
    printf("포인터 p이 가리키는 값 : %d \n", *p);

    return 0;
}

위의 예제에서 `int * p = NULL;`은 포인터 변수 `p`를 선언하고 초기화하는 부분입니다.
`p = &i;`는 `i` 변수의 주소를 `p` 포인터 변수에 대입하는 부분입니다.
`printf("포인터 p이 가리키는 값 : %d \n", *p);`는 `p`가 가리키는 주소에 있는 변수의 값을 출력하는 부분입니다.

반응형
LIST