포인터 (4) 썸네일형 리스트형 2차원 배열과 포인터배열(2차원 문자배열) 이번에는 여러 개의 문자열을 처리하기 위한 2차원의 문자배열을 살펴볼거에요. 하나의 문자열을 저장하기 위해서는 하나의 문자배열이 필요해요. 따라서 많은 문자열을 저장하기 위해서는 2차원의 문자배열을 사용해야 할 거에요. 각 행이 하나의 문자열을 저장한다 5개의 동물이름을 저장할 2차원의문자배열을 선언하고 문자열들을 저장해 봅시다. 5개의 문자열을 저장해야 하므로 행의 수는 다섯 개이며 열의 수는 가장 긴 문자열도 저장될 수 있도록 넉넉하게 선언하면 될 거에요. 물론 널문자까지 포함시켜야 하구요. char animal[5][20]; // 5개의 문자열을 저장할 2차원 문자배열 animal 문자배열을 선언하면 다음과 같이 100개의 char형 기억공간이 할당될 거에요. 여기서 각 행은 하나의 1차원 문자배열.. [C언어] 포인터 장단점, 포인터와 배열의 차이 포인터란 자료가 저장되는 기억장치의 기억주소를 가리키는 지시자로써 포인터는 다른 기억장소의 자료를 참조하는데 사용되는 데이터입니다. 1. 포인터를 써야 하는 이유 어떠한 변수이든지 어떠한 버퍼를 할당 받아서 사용하는데, 모든 변수의 저장과 참조는 변수가 저장될 혹은 저장된 주소를 알아야 가능하다. 그래서 컴퓨터는 변수를 참조할 때 그 변수가 저장되어 있는 주소를 먼저 찾아내고 그 주소가 가리키는 내용을 참조하게 된다. 이렇게 변수의 주소를 저장하거나 사용하기 위한 변수가 포인터이다. 포인터를 사용하면 간결하고 효율적인 표현과 처리가 가능하고 더 빠른 기계어 코드를 생성할 수 있으며, 복잡한 자료 구조(배열, 구조체 등)와 함수의 쉬운 접근이 가능하다. 또한 포인터를 사용하지 않았을 때 코드로 표현할 수 .. 포인터 장점, 단점 포인터 타입의 장단점은 여러가지가 있지만 대표적인것들만 몇가지 적어보도록 하겠습니다. 포인터 변수라는것 자체가 주소를 담을수 있는 변수이기 때문에 혼자로서는 의미가 없습니다. 즉 혼자서는 사용할수 없는 변수이죠 하지만 포인터 변수가 가지는 장점은 많이 있습니다. 장점 1. 포인터 변수는 4바이트의 주소만 가지게 됩니다. 그렇기 때문에 함수의 인자로 넘길경우 메모리의 복사도 4바이트만큼만 일어나게 됩니다. 클래스와 같이 덩치가 큰 객체도 포인터 형으로 전달될경우 해당 메모리의 첫번째 주소값이 넘어가기 때문에 불필요한 메모리의 복사가 일어나지 않게 됩니다. 2. 포인터 변수는 주소를 컨트롤 하기때문에 처리속도가 나쁘지 않습니다. 상수단위의 처리속도는 나오지 않겠지만 주소를 직접적으로 컨트롤 하기때문에 데이터.. 포인터 개념 C 언어의 꽃 포인터(Pointer)입니다. 대학 시절 때도 포인터에 막혀서 제 학점을 후루룩 말아 잡쉈는데, 이제 피할 수 없는 시기가 와서 한번 정리를 하려고 합니다. 포인터는 왜 쓸까요? 포인터 변수는 변수의 주솟값을 받는 변수인데 과연 어디에 쓰려고 하는걸까요? 포인터 변수를 사용하는 이유를 알려면 주솟값의 존재 이유를 알면 됩니다. 우리는 인터넷에서 쇼핑을 하면 배송지에 꼭 집의 주소를 적습니다. 그 곳으로 물건을 배달하지요. 이렇듯 주소는 특정 위치를 정확히 알려주는 지표입니다. 컴퓨터에서도 주솟값은 방대한 메모리에서 해당 변수가 저장되어 있는 위치를 정확히 알려주는 역할을 합니다. 즉, 포인터 변수는 저장된 주솟값을 통해 언제든지 해당 변수에 접근할 수 있게 됩니다. 물론 수정도 가능하죠. .. 이전 1 다음