[C/C++] 포인터와 배열의 관계
·
프로그래밍 Programming
혼자 끄적이는 포인터와 배열에 대한 관계에 대한 글입니다. 정식된 내용은 책이나 다른 자료를 참고하세요. 1. 배열 이름은 무엇을 가리키는가? 정수 배열 int a[3]이 있을 때 a를 출력하면 a[0]을 가리키는 주소값으로 리턴한다. a는 a[0]에 대한 포인터처럼 사용되는 것이다. 2. 배열 이름은 포인터와 똑같은가? 그러면 배열 이름인 a와 포인터와 동일시해도 되는 것인지 의문이 든다. 하지만 배열 이름 a와 일반 포인터 int *p (p는 임의로 정한 것)와는 차이가 있다. 포인터를 ++연산자를 사용했을 때 포인터가 가리키는 타입이 차지하는 메모리 바이트만큼 포인터가 가리키는 주소값 + 메모리 바이트 수(int는 4바이트 등)로 리턴하는데 배열 이름 a는 a++처럼 사용해도 a 자체는 고정된 주소..