[C] 배열 - 2 (배열과 포인터, 문자열)
배열과 포인터 배열과 포인터는 컴퓨터 내부적으로 거의 같은 방법으로 메모리에 접근한다. 그러나 이 둘 사이의 차이를 잘 구분해야 한다. 배열의 이름은 그 배열에 할당된 메모리의 시작주소를 나타내는 상수이다. 컴파일러는 컴파일 과정에서 상수값을 가진 포인터로 처리한다. 그러므로 프로그램이 실행되는 동안 배열이 가리키는 주소는 바뀔 수 없다. 배열명은 첫 번째 배열요소를 가리키는 포인터를 기호화한 것이다. 포인터에 정수값을 더할 때는 포인터가 가리키는 자료형의 크기를 곱해서 더해준다. 예를들면, &ary[2] 과 &ary[0] + 2은 동일한 주소값 44를 나타낸다. &ary[0] + 2는 컴파일러에 의해 &ary[0] + (2 * sizeof(int))의 값(여기서는 8로)으로 계산된다. 위 그림을 통해 ..