BDes2 C 언어

배열 이름과 포인터 읽기

배열 이름은 많은 식에서 첫 원소 주소처럼 동작하고, 포인터 산술은 원소 크기 단위로 주소를 이동합니다.

주소 해석

pointer
arr첫 원소 주소로 변환
&arr[0]0번 원소의 실제 주소
p + ii번째 원소 위치로 이동
*(p+i)그 위치의 값을 읽거나 수정
arr&arr[0]p + i*(p+i)

배열 크기

점검
배열 크기함수 매개변수로 전달되면 크기 정보가 사라집니다.
원본 변경포인터로 접근하면 호출자 배열 값을 바꿀 수 있습니다.
주소 단위p+1은 1바이트가 아니라 자료형 크기만큼 이동합니다.
예외sizeof(arr)는 같은 스코프에서 배열 전체 크기를 봅니다.