c언어에서 배열 이름이 포인터로 바뀌는 경우가 있잖아
그러니까 포인터 변수에 배열 이름으로 주소 저장할 수 있는 거고.
근데 여기서 궁금한 점이 두 개가 생기는데
1.포인터 변수도 변수니까 메모리를 차지 하잖아 그럼 배열 이름이 포인터 역할로 바뀌면 그 때 배열 이름이 포인터 변수로 메모리 차지함?
2.arr[2][3]과 같이 2차원 배열에서 arr이 arr[0]를 가리키는 거잖아 arr[0][0]가 아니라 그러면 arr[0]도 arr[0][0]를 가리키는 포인터로 바뀌는 거임?
1. 이미 배열이 선언 되어있는 상태에서 그 배열이 포인터로 바뀐다는것부터가 절차상 말이 안됨. 코드를 포인터 형식으로 수정하는 방식이라면 배열포인터 메모리가 어떠한 메모리 주소를 가리키는 형태가 되는거지. 2. 2차원 행렬에서 arr[0]은 열 (가로방향)을 의미하는데 arr[0][0]은 원소를 의미하는거니까 성립되지 않음.
음 배열 이름이 포인터로 바뀌는게 아니라 배열을 가리키는 변수명 자체가 0번째 요소의 포인터임