C Programming

C언어 포인터 기초 (선언) - 공부하는 도비

DOVISH WISDOM 2022. 10. 13. 18:35  
728x90
반응형

오늘은 모두가 어려워하는 포인터에 대해서 알아볼게요.

C언어를 공부하면서 학생들이 손 놓는 부분이 포인터를 배울 때라고 생각해요. 그래서 기초부터 정리해두려고 합니다.

 

우리가 변수를 선언하면, 아래 그림처럼 메모리의 특정한 장소(주소)에 값이 저장됩니다. 

변수 선언
메모리

포인터란?  

"특정 데이터가 저장된 메모리의 주소를 저장하는 변수"

 

위의 예시에 따르면, 포인터는 위의 변수 c, i, pi의 주소를 저장하는 변수라고 정의할 수 있습니다. 

 

포인터 변수 선언

- 포인터 변수 선언을 위해서는 간접 연산자 *를 변수 앞에 사용 합니다. 

- 각 데이터 형에 따라 아래와 같이 포인터 변수를 선언 할 수 있습니다. 

각 데이터 형에 따른 포인터 변수 선언 예시

위 예시에 대한 포인터를 선언해볼께요.! 

예시
예시 출력

& 기호가 주소를 뜻하니, &c를 출력하면 c의 주소 값이 출력되고, c의 포인터 변수 *address_c를 출력하면 &c를 출력했던 결과와 동일한 걸 볼 수 있어요. 

 

그림으로 보는 포인터 

 

#include <stdio.h>

int main()
{
    int x = 70;
    int *y = &x;
    
    printf("value of x : %d\n", x);
    printf("value of *y : %d\n\n", *y);
    
    printf("address of x : %p\n", &x);
    printf("address of y : %p\n\n", y);
    
    printf("address of y : %p", &y);
    
    return 0;
}

 

x = *y이고, &x = y랑 같다는 것만 기억하면 포인터 기초는 어느 정도 파악될껍니다.! 

 

다음 피드는 포인터가 왜 필요한지 설명하겠습니다.  

반응형