pointer (6) 썸네일형 리스트형 C++ Pass By Reference Explained [중요] In C++, you may need to allow a function to access one of its parameters directly without creating a copy. You may be passing a complex data structure as a parameter, or you could be looking to optimize the function’s performance on a very large number of function calls. One way to achieve such access is to use “pass by reference.” In this guide, we’ll show you how to implement pass by reference.. 2차원 배열과 포인터배열(2차원 문자배열) 이번에는 여러 개의 문자열을 처리하기 위한 2차원의 문자배열을 살펴볼거에요. 하나의 문자열을 저장하기 위해서는 하나의 문자배열이 필요해요. 따라서 많은 문자열을 저장하기 위해서는 2차원의 문자배열을 사용해야 할 거에요. 각 행이 하나의 문자열을 저장한다 5개의 동물이름을 저장할 2차원의문자배열을 선언하고 문자열들을 저장해 봅시다. 5개의 문자열을 저장해야 하므로 행의 수는 다섯 개이며 열의 수는 가장 긴 문자열도 저장될 수 있도록 넉넉하게 선언하면 될 거에요. 물론 널문자까지 포함시켜야 하구요. char animal[5][20]; // 5개의 문자열을 저장할 2차원 문자배열 animal 문자배열을 선언하면 다음과 같이 100개의 char형 기억공간이 할당될 거에요. 여기서 각 행은 하나의 1차원 문자배열.. 배열과 포인터(포인터로 배열 다루기 1.) 포인터 챕터를 마치고.... 배열과 포인터라는 챕터로 들어왔네요. 공부해본 결과..약간 개념적인 이해가 필요한 듯 하니 이해가 가지 않으면 여러번 다시 생각해봐야 할 거 같네요. 포인터로 배열 다루기 배열은 많은 양의 데이터를 효율적으로 처리할 수 있는 훌륭한 자료구조에요. 변수들이 메모리의 연속된 기억공간에 할당되어 있으므로 반복문을 사용할 수 있다는 것이 큰 장점이였죠? 그러나 덩치가 큰 만큼 쉽게 움직일 수 없다는 단점도 갖고 있어요. 예를 들어, 아래와 같이 초기화된 배열이 있다고 했을때, int ary[5] = [10,20,30,40,50]; 이 배열의 모든 값을 한번만 출력한다면 반복문을 사용하면되요. 하지만 프로그램 전체에 걸쳐 빈번하게 출력해야 한다면 함수를 만들어 호출하는게 좋겠죠? 배열.. [C언어] 포인터 장단점, 포인터와 배열의 차이 포인터란 자료가 저장되는 기억장치의 기억주소를 가리키는 지시자로써 포인터는 다른 기억장소의 자료를 참조하는데 사용되는 데이터입니다. 1. 포인터를 써야 하는 이유 어떠한 변수이든지 어떠한 버퍼를 할당 받아서 사용하는데, 모든 변수의 저장과 참조는 변수가 저장될 혹은 저장된 주소를 알아야 가능하다. 그래서 컴퓨터는 변수를 참조할 때 그 변수가 저장되어 있는 주소를 먼저 찾아내고 그 주소가 가리키는 내용을 참조하게 된다. 이렇게 변수의 주소를 저장하거나 사용하기 위한 변수가 포인터이다. 포인터를 사용하면 간결하고 효율적인 표현과 처리가 가능하고 더 빠른 기계어 코드를 생성할 수 있으며, 복잡한 자료 구조(배열, 구조체 등)와 함수의 쉬운 접근이 가능하다. 또한 포인터를 사용하지 않았을 때 코드로 표현할 수 .. 포인터 장점, 단점 포인터 타입의 장단점은 여러가지가 있지만 대표적인것들만 몇가지 적어보도록 하겠습니다. 포인터 변수라는것 자체가 주소를 담을수 있는 변수이기 때문에 혼자로서는 의미가 없습니다. 즉 혼자서는 사용할수 없는 변수이죠 하지만 포인터 변수가 가지는 장점은 많이 있습니다. 장점 1. 포인터 변수는 4바이트의 주소만 가지게 됩니다. 그렇기 때문에 함수의 인자로 넘길경우 메모리의 복사도 4바이트만큼만 일어나게 됩니다. 클래스와 같이 덩치가 큰 객체도 포인터 형으로 전달될경우 해당 메모리의 첫번째 주소값이 넘어가기 때문에 불필요한 메모리의 복사가 일어나지 않게 됩니다. 2. 포인터 변수는 주소를 컨트롤 하기때문에 처리속도가 나쁘지 않습니다. 상수단위의 처리속도는 나오지 않겠지만 주소를 직접적으로 컨트롤 하기때문에 데이터.. 포인터 개념 C 언어의 꽃 포인터(Pointer)입니다. 대학 시절 때도 포인터에 막혀서 제 학점을 후루룩 말아 잡쉈는데, 이제 피할 수 없는 시기가 와서 한번 정리를 하려고 합니다. 포인터는 왜 쓸까요? 포인터 변수는 변수의 주솟값을 받는 변수인데 과연 어디에 쓰려고 하는걸까요? 포인터 변수를 사용하는 이유를 알려면 주솟값의 존재 이유를 알면 됩니다. 우리는 인터넷에서 쇼핑을 하면 배송지에 꼭 집의 주소를 적습니다. 그 곳으로 물건을 배달하지요. 이렇듯 주소는 특정 위치를 정확히 알려주는 지표입니다. 컴퓨터에서도 주솟값은 방대한 메모리에서 해당 변수가 저장되어 있는 위치를 정확히 알려주는 역할을 합니다. 즉, 포인터 변수는 저장된 주솟값을 통해 언제든지 해당 변수에 접근할 수 있게 됩니다. 물론 수정도 가능하죠. .. 이전 1 다음