[C언어] 배열이 0부터 시작하는 이유
이 이유를 알기 위해서는 다음과 같은 소스를 실행해 볼 필요가 있다. int main(){ int arr[] = { 2, 4, 6, 8 }; printf("index = 0 > %d, ", arr[0]); printf("%d\n", *arr); printf("index = 2 > %d, ", arr[2]); printf("%d\n", *(arr + 2)); return 0; } 배열 변수는 첫 번째 항목에 대한 포인터로 사용할 수 있다. 그렇기 때문에 arr[2]는 *(arr + 2)로 표현이 된다. 즉, 첫번째 배열주소에서 int(4byte)만큼의 주소번지를 이동하여, 다음 값을 읽는다. 결론 : arr의 경우 첫 주소는 아무 값도 더하지 않는 0부터 시작하게 된다.
Language/C
2013. 10. 1. 17:25
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday