Programming

(C언어) 포인터

summerorange 2022. 3. 24. 17:36
반응형

포인터(Pointer) 데이터가 저장된 메모리상의 주소.

#include <stdio.h>

main() {
    int *p;
    int a;
    scanf("%d", &a);
    p = &a;
    printf("%d\n", *p);
}

p 변수는 a의 주소를 가지게 된다. *를 붙이면 그 주소의 값을 가지고 온다

배열과 같은 경우는 포인터는 다음과 같이 쓸 수 있음

main() {
    int *p, i;
    int a[5] = {100, 90, 80, 70, 60};
    p=a;
    for(i=0; i<5; i++)
        printf("%d ", a[i]);
    printf("\n");
    for(i=0; i<5; i++)
        printf("%d ", *(p+i));
    printf("\n");
    printf("%d", *(p+0));
}

*(p+0), *(p+1), *(p+2) 등으로 해당 배열의 값을 가지고 올 수 있음

포인터 변수는 메모리 공간에 접근하기 까다로운 경우에 활용할 수 있다.

반응형

'Programming' 카테고리의 다른 글

(C 언어) 재귀 함수  (0) 2022.03.25
(C언어) function  (0) 2022.03.24
(C언어) 배열  (0) 2022.03.24
(C언어) for  (0) 2022.03.24
(C언어) 조건문  (0) 2022.03.24