#include <stdio.h>

int main() {
    int arr[3] = {10, 20, 30};
    int *p = arr; // arr == &arr[0]

    printf("p에 저장된 주소 %p, 가리키는 값 %d\n", p, *p);
    printf("arr[0]의 주소 %p\n", &arr[0]);

    // arr인덱스를 사용해서 직접 출력
    printf("arr[0] = %d\n", arr[0]); 
    printf("arr[1] = %d\n", arr[1]);
    printf("arr[2] = %d\n", arr[2]);

    // 포인터 연산으로 배열 요소 접근
    printf("arr[0] = %d\n", *p);
    printf("arr[1] = %d\n", *(p + 1));
    printf("arr[2] = %d\n", *(p + 2));

    // 포인터를 배열처럼 사용한 접근
    printf("arr[0] = %d\n", p[0]); // *p == p[0]
    printf("arr[1] = %d\n", p[1]); // *(p + 1) == p[1]
    printf("arr[2] = %d\n", p[2]); // *(p + 2) == p[2]

    // *와 & 같이 쓰기
    printf("%d\n", *&arr[2]);

    printf("----숙제----\n");
    int arr1[3] = {3, 6, 9};
    int *p1 = arr1;

    *(p1 + 1) = 100;   // 이 한 줄만 배열 값을 바꿉니다.

    printf("arr1[0] = %d\n", arr1[0]); 
    printf("arr1[1] = %d\n", arr1[1]);
    printf("arr1[2] = %d\n", arr1[2]);
    // 여기에 답을 적어보세요!
    // arr1[0] = 3
    // arr1[1] = 100
    // arr1[2] = 9
    
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: