배열 주소와 변환된 포인터의 동등성 이해
C 프로그래밍 언어에서는 배열을 주소로 변환하는 것이 일반적인 관행입니다. 배열에서 포인터로의 변환을 사용하여 첫 번째 요소에 대한 포인터입니다. 이는 왜 배열의 주소가 변환된 포인터의 주소와 동일한지에 대한 의문을 제기합니다.
이 개념을 설명하기 위해 다음 코드를 고려해 보겠습니다.
출력 이 코드는 배열 주소와 변환된 포인터 주소가 동일함을 보여줍니다.
이 현상을 이해하려면 연관된 두 가지 별개의 의미를 인식해야 합니다. 기호 t:
우리 코드에서 출력의 첫 번째 줄에는 t(배열)의 주소와 &t( 배열에 대한 포인터). 배열은 연속적인 메모리 블록이므로 시작 주소가 동일합니다.
출력의 두 번째 줄에는 u의 주소(첫 번째 요소에 대한 변환된 포인터)와 &u의 주소(변환된 요소에 대한 포인터)가 표시됩니다. 바늘). 다시 말하지만, u는 &t[0]과 본질적으로 동일하기 때문에 이 주소는 동일합니다.
그러므로 배열의 주소가 포인터로 변환된 배열의 주소와 동일한 이유는 다음과 같다고 결론을 내립니다. 둘 다 배열이 차지하는 연속 메모리 블록의 시작 주소를 나타내기 때문입니다. 배열에서 포인터로의 변환은 전체 배열의 시작 위치와 동일한 메모리 위치를 갖는 배열의 첫 번째 요소에 대한 포인터를 생성하기 때문에 이러한 동등성은 유지됩니다.
위 내용은 C에서 배열의 주소가 첫 번째 요소에 대한 포인터의 주소와 동일한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!