포인터 (1) 썸네일형 리스트형 C에서 배열이름의 정체는?? #include int main() { int a[2] = {1, 2}; printf("%d %d %d", a, &a[0], &a); return 0; } 위의 결과를 보면 3가지 값 모두가 똑같다. 배열이름은 배열의 첫번째 인덱스의 주소값을 가지니 a == &a[0]는 당연히 맞는 말이다. 하지만 a 라는 값(즉 배열의 주소가 저장되는 공간) 자체도 어딘가 메모리 공간에 할당될테고 (주소값을 저장하는 메모리공간 = 포인터) 다시 말해 &a 를 출력했을시 어딘가 다른 메모리 주소가 출력되야 하는데 그렇질 않다. 게다가 sizeof 연산을 해보면 배열이름의 저장 공간은 포인터 크기가 아닌 배열 전체의 크기가 나오는데 이걸 어떻게 이해해야 하는지 -_-;; 배열이름은 배열의 크기 정보까지 저장하고 있는 포인.. 이전 1 다음