[C] 배열 포인터
카테고리: C
이 글은 C 배열 포인터를 공부하고 정리한 글입니다
코드 예시
int arr[3] = { 0, 0, 0 };
int* pointer = arr;
매개변수 배열
- 매개변수로 배열이 들어오는 경우 시작 주소만 스택에 복사된다
- 배열을 다 스택에 넣을 수 없어서 ( 사이즈도 다 다를 수 있기 때문에 )
- 시작 주소만 스택에 복사하니
int arr[10]
이나int* arr
은 똑같다
배열의 요소 접근
pointer += 3;
pointer[3] = 10;
- 포인터에 정수 1을 더한다는 의미는 1바이트 만큼 이동이 아니라 다음 데이터의 위치로 이동이다
- int같은 경우 +3을 하면 int 사이즈가 4바이트이므로 12바이트 이동한다
- char같은 경우 +2를 하면 char 사이즈가 1바이트이므로 2바이트 이동한다
- 첨자 연사자
[]
도 사용할 수 있다
참조
💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸
댓글 남기기