반응형

포인터배열 2

배열 포인터 C언어

이 전시간 포인터 배열에 대해서 알아보았다. 이번에는 배열 포인터에 대해서 간단히 알아보고 구조체로 넘어갈까 한다. 문자열도 다뤄야하는데 사실 배열과 문자열에 관한 내용은 천천히 다루는게 좋지않을까 싶다. 문자열을 다루는 것이 그만큼 배열과 밀접하고 중요하기 때문이다. 또한 포인터의 개념도 완벽히 잡히지 않은 상태에서 다루다보면 이도 저도 안되기 때문이다. 그래서 문자열과 배열을 한번에 너무 깊게 다루는 것은 전반적인 C학습에 저해 요소라 생각든다. 이 부분은 어떤 프로젝트를 하면서 그때 그때 필요한 부분을 익히는 것이 더 효율적이라 생각들고, 문법을 공부하는 입장에서는 C의 전반적인 흐름을 익히는 것이 중요하다 생각된다. 이 블로그의 포스팅의 목표는 간단한 주소록을 시작으로 채팅프로그램, 그리고 C++..

포인터배열(Ragged) c언어

이전에 동적할당의 경우에서도 잠깐 나왔었는데, 포인터 배열에대해서 좀 더 알아보자. 포인터 배열은 말 그대로 배열의 요소들이 포인터인 배열이다. 선언을 하는 방법은 int *arr[5]; // 이런식으로 단순히 *구두점을 배열명에 붙여주면된다. int *arr[5]의 각요소들인 arr[0],arr[1],arr[2],arr[3],arr[4] 은 포인터가 된다. 아래의 예를 보자. 위 코드는 두가지 사실을 말해준다. 첫째로 각 요소들은 포인터로서 같은 크기지만, 각각 크기가 다른 문자열을 가리키고 있다. 두번째는 이런 요소들이 문자열을 가리킨다고해서 배열명은 아니라는 것이다. 마치 2차배열과 동작이 비슷해 보이지만, 이런 포인터 배열의 요소는 어디까지나 포인터라는 것이다. 만약 배열명으로 작동한다면, 배열명..

반응형