[C] 배열 포인터

Date:     Updated:

카테고리:

태그:

이 글은 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바이트 이동한다
  • 첨자 연사자 [] 도 사용할 수 있다


참조

포큐아카데미 C 언매니지드 프로그래밍



💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우 
  언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸

맨 위로 이동하기

C 카테고리 내 다른 글 보러가기

댓글 남기기