편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2017.11.06

    배열 이름이랑 배열의 주소가 같은건 왜죠?


    발생하는 문제 및 실행환경

    배열 이름이랑 배열 주소가 같길래 포인터가 배열을 가리키게 해놓고 포인터 주소를 출력했더니 다르게 나왔어요.

    배열이름 = 배열 주소 이면서

    포인터값 != 포인터 주소 인건 왜일까요?

    소스코드

    #include <stdio.h>
    
    int main()
    {
      char my_array[100] = "some cool string";
      printf("my_array = %p\n", my_array);
      printf("&my_array = %p\n", &my_array);
    
      char *pointer_to_array = my_array;
      printf("pointer_to_array = %p\n", pointer_to_array);
      printf("&pointer_to_array = %p\n", &pointer_to_array);
    
      printf("Press ENTER to continue...\n");
      getchar();
      return 0;
    }
    

    출력

    my_array = 0022FF00
    &my_array = 0022FF00
    pointer_to_array = 0022FF00
    &pointer_to_array = 0022FEFC
    
  • 프로필 풀입님의 편집
    날짜2016.02.04

    배열 이름이랑 배열의 주소가 같은건 왜죠?


    발생하는 문제 및 실행환경

    배열 이름이랑 배열 주소가 같길래 포인터가 배열을 가리키게 해놓고 포인터 주소를 출력했더니 다르게 나왔어요.

    배열이름 = 배열 주소 이면서

    포인터값 != 포인터 주소 인건 왜일까요?

    소스코드

    #include <stdio.h>
    
    int main()
    {
      char my_array[100] = "some cool string";
      printf("my_array = %p\n", my_array);
      printf("&my_array = %p\n", &my_array);
    
      char *pointer_to_array = my_array;
      printf("pointer_to_array = %p\n", pointer_to_array);
      printf("&pointer_to_array = %p\n", &pointer_to_array);
    
      printf("Press ENTER to continue...\n");
      getchar();
      return 0;
    }
    

    출력

    my_array = 0022FF00
    &my_array = 0022FF00
    pointer_to_array = 0022FF00
    &pointer_to_array = 0022FEFC