Ex27-포인터 변수 p를 이동시켜 배열의 메모리 공간에 접근하기

CODEDRAGON Development/C, C++

반응형

   

포인터 변수 p를 이동시켜 배열의 메모리 공간에 접근하기

   

*p=10;

printf("%d %d %d \n", p[0], p[1], p[2]);

  

   

p=p+1;

*p=20;                // p[0]=20;

printf("%d %d %d \n", p[-1], p[0], p[1]);

  

   

p=p+1;

*p=30;                // p[0]=30;

printf("%d %d %d \n", p[-2], p[-1], p[0]);

  

   

   

소스코드

   

#include <stdio.h>

int main(void) {
                int array[3];
                int* p=NULL;

                p=array;
                *p=10;
                printf("%d %d %d \n", p[0], p[1], p[2]);
                printf("----------\n");

                p=p+1;          //
포인터 이동
                *p=20;          // p[0]=20;
                printf("%d %d %d \n", p[-1], p[0], p[1]);
                printf("----------\n");

                p=p+1;          //
포인터 이동
                *p=30;          // p[0]=30;
                printf("%d %d %d \n", p[-2], p[-1], p[0]);
                printf("----------\n");

                printf("%d %d %d \n", p[-2], p[-1], p[0]);
                printf("%d %d %d \n", *(p-2), *(p-1), *p);
                printf("----------\n");

                return 0;
}


   

   

출력결과