BDes2 C 언어
배열 이름과 포인터 읽기
배열 이름은 많은 식에서 첫 원소 주소처럼 동작하고, 포인터 산술은 원소 크기 단위로 주소를 이동합니다.
주소 해석
pointer
arr
첫 원소 주소로 변환
&arr[0]
0번 원소의 실제 주소
p + i
i번째 원소 위치로 이동
*(p+i)
그 위치의 값을 읽거나 수정
arr
→
&arr[0]
→
p + i
→
*(p+i)
배열 크기
점검
배열 크기
함수 매개변수로 전달되면 크기 정보가 사라집니다.
원본 변경
포인터로 접근하면 호출자 배열 값을 바꿀 수 있습니다.
주소 단위
p+1은 1바이트가 아니라 자료형 크기만큼 이동합니다.
예외
sizeof(arr)는 같은 스코프에서 배열 전체 크기를 봅니다.