하루의 쉼터

[비교]배열포인터와 포인터배열 본문

프로그래밍/C언어

[비교]배열포인터와 포인터배열

Changun An 2019. 1. 11. 09:05
반응형

l  포인터배열과 배열포인터에 대해


배열은 같은 자료형을 가진 변수들의 묶음이다.


배열의 이름은 배열의 시작 주소를 뜻한다.


그렇다면 포인터 배열은 무엇일까?


참고 : 2019/01/10 - [프로그래밍/C언어] - [기초] 포인터


포인터 배열은 포인터( 주소 값을 저장하는 변수 )로 이루어진 배열이다.


쉽게 설명하자면 자료형이 int나 char가 아닌 int*,double*식으로 포인터가 자료형인 배열이다.


주소를 저장하는 배열 그게 포인터 배열이라 할 수 있다.


그렇다면 배열포인터란 무엇일까?


배열을 가르키는 포인터, 즉 배열의 주소를 가르키는 것이라고 볼 수 있다.


이 말은 무엇일까?


아래의 사진을 참고하여 간단하게 생각해보자.


배열 포인터는 배열을 가진다 라고 생각하면 편하다. int형식의 배열이 5개 들어간다.


다만 여기서 조심해야 되는 건은 우리는 우선 순위에 대해 알고 있다.


int (*arr)[5] != *(arr+1)[5]


이는 다르다  *(arr+1)은 arr[1]이다.


즉 이말은 (*arr)[5]와 arr[1][5]를 비교하게 되는 것인데


배열과 배열 포인터는 사용방법을 달리 해줘야 한다.





반응형
Comments