본문 바로가기

Develop/Cpp11

[Cpp] 구조체 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 구조체 Cpp에서의 구조체의 개념과 사용에 대해서 간단히 짚어보고 가고자 한다. 우리가 코딩을 하다보면 객체를 표현하기 위해 하나 이상의 변수가 필요한 경우가 간혹 있는데, 예를 들면 한 사람의 개인정보를 표현하기 위해서는 그 개인의 이름, 생일, 키, 몸무게등 여러가지를 표현해야 한다. 이를 그룹화 시키지 않고 독립 변수에 저장을 하게 되면, 각 변수를 개별적으로 지정해 주어야 하고, 사람이 바뀔 경우 새로운 변수를 지정해 저장해 주어야 한다. 이러한 불필요한 반복을 피하기 위해 Cpp에서는 고유한 사용자 정의 집계 데이터 유형을 생성할 수 있고, 이 데이터 유형 중 가장 단순하게 만들 수 있는 것이 바로 구조.. 2022. 6. 21.
[Cpp] 함수 호출 방식 (Call by value, Call by reference) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 내용상의 오류가 있을 수 있음을 알립니다. 함수 호출 방식 Cpp에서는 인자를 함수에 넘겨주는 방식에는 크게 두 가지가 있다. 바로 Call by value, Call by reference 이다. 이중 Call by reference에 대해 더 집중하여 다루어 보도록 하겠다. Call by value 함수에서 값을 복사해서 전달하는 방식으로 인자로 전달되는 변수를 함수의 매개변수에 복사하게 된다. 이러한 Call by value 방식은 인자로 전달한 변수와는 완전히 별개의 변수가 되기 때문에 간단히 말해, 매개 변수를 변경해도 원래의 변수에는 영향을 미치지 않는다. ( 원본 값을 바꿀 필요가 없는 경우 사용한다.) 예시 코드 1 2 3 4 5 6 7 8 .. 2022. 6. 20.
[Cpp] 포인터 기본 포인터란? 포인터는 어떠한 값을 저장하는 게 아닌 메모리 주소를 저장하는 변수이다. 쉽게 말해, 각각의 변수는 저마다의 메모리 주소값을 가지고 있고, 이를 가리키는 것이 "포인터"이다. 이 포인터는 3가지를 알고가면 좋다. 1) 포인터는 주소를 저장하는 변수이다. 2) 주소를 저장하고 있을 때, 이를 "가리킨다" 라고 표현한다. 3) *을 붙이면 이는 가리킨 곳의 값을 나타낸다. (원격으로 접근이 가능) 간단한 예제 몇가지를 통해 포인터를 이해해보자. 다음과 같은 변수와 값이 있다. char t에 'A'가 할당되어 있고, int r에는 15가 할당되어 있다. 이를 포인터 변수인 g와 v에 각각 할당하려고 하면 코드로는 다음과 같이 나타낼 수 있다. 이 포인터 변수 *g, *v는 각각 t와 r을 "가리키는.. 2022. 6. 20.