배열주소? 배열이름? 포인터?
횃눈썹
2024.01.15
#includestdio.h
int main(void)
{
int a[1]={0};
printf(%d %d \n, &a[0], a);
return 0;
}
위 예제를 보시면 배열 a의 인덱스 0의 주소와 a의 배열 이름을 출력하고있습니다.
출력 결과는 똑같이 1245052가 출력 됩니다.
그렇다면 배열 이름은 배열의 인덱스 0의 주소와 동일 하게 쓸수있나요?
즉, 배열 이름은 배열 인덱스 0의 주소대신 사용할수있나요?
#includestdio.h
int main(void)
{
int a[1]={0};
int* pA;
pA=a;
printf(%d \n, pA);
return 0;
}
위 예제는 포인터 pA가 배열 a의 주소를 출력하고 있습니다.
소스내용중에 pA=a;라는 부분이있는데 여기서 pA에 대입하는것은 배열 a의 인덱스 0의 주소입니까? 아니면 a의 배열이름 입니까?
만약 주소를 대입하는거라면 pA=&a라고 해야하지 않나요? 혹 a가 배열이기때문에 엠퍼센트(&)를 안 붙이는건가요?
-
이루리라 2024-01-15
저는 학원선생님이 배열이름은 그 배열의 시작주소를 가리킨다고 해서
0으로 알고 잇습니다. -
츠키코 2024-01-15
배열의 이름은 항상 첫번째 요소인 인덱스 0의 주소를 나타냅니다.
-
두나 2024-01-15
질문 해결했습니다.
도움주신 마토님께 감사드려요 ^__________^*