본문 바로가기

필기20

[Cpp] Direct 배열 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 본론부터 이야기하자면 Direct 배열이란, 예를 들면 2차원 이상의 배열에서 상, 하, 좌, 우 등등 방향 배열을 나타낸다. 보통 DFS, BFS 알고리즘을 사용하게 되는 경우 많이 쓰게 된다. 그럼 이 상하좌우의 합을 구하게 될 때, 어떤 식으로 구해야 할까? 일반적인 경우에는 다음과 같은 코드를 짜서 해결할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include using namespace std; int main() { int map[4][4] = { 6, 6, 5, 4, 1, 2, 3, 4, 1, 1, 1, 1.. 2022. 6. 22.
[Cpp] 문자열 함수 (cstring) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 이번 포스팅에서는 라이브러리 중에 string을 사용하지 않고, char를 이용하는 라이브러리를 통해 문자열을 다루어보도록 한다. char를 이용 문자열을 다루는 라이브러리는 아래의 두 라이브러리가 있다. string.h cstring 두 라이브러리를 같은 기능을 하지만, 보통 C에서는 첫 번째 라이브러리를 사용하고, Cpp에서는 아래의 라이브러리를 사용한다. ( 위 두 라이브러리는 과는 다른 라이브러리이다.) cstring을 이용하여 문자열 복사하기. 특정 문자열을 buf라는 char 변수에 복사해보도록 하자. 이때 사용하는 함수는 strcpy()라는 함수이며, 다음과 같은 방법으로 사용한다. strcpy() .. 2022. 6. 22.
[Cpp] 구조체 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 구조체 Cpp에서의 구조체의 개념과 사용에 대해서 간단히 짚어보고 가고자 한다. 우리가 코딩을 하다보면 객체를 표현하기 위해 하나 이상의 변수가 필요한 경우가 간혹 있는데, 예를 들면 한 사람의 개인정보를 표현하기 위해서는 그 개인의 이름, 생일, 키, 몸무게등 여러가지를 표현해야 한다. 이를 그룹화 시키지 않고 독립 변수에 저장을 하게 되면, 각 변수를 개별적으로 지정해 주어야 하고, 사람이 바뀔 경우 새로운 변수를 지정해 저장해 주어야 한다. 이러한 불필요한 반복을 피하기 위해 Cpp에서는 고유한 사용자 정의 집계 데이터 유형을 생성할 수 있고, 이 데이터 유형 중 가장 단순하게 만들 수 있는 것이 바로 구조.. 2022. 6. 21.
[Cpp] 포인터 기본 포인터란? 포인터는 어떠한 값을 저장하는 게 아닌 메모리 주소를 저장하는 변수이다. 쉽게 말해, 각각의 변수는 저마다의 메모리 주소값을 가지고 있고, 이를 가리키는 것이 "포인터"이다. 이 포인터는 3가지를 알고가면 좋다. 1) 포인터는 주소를 저장하는 변수이다. 2) 주소를 저장하고 있을 때, 이를 "가리킨다" 라고 표현한다. 3) *을 붙이면 이는 가리킨 곳의 값을 나타낸다. (원격으로 접근이 가능) 간단한 예제 몇가지를 통해 포인터를 이해해보자. 다음과 같은 변수와 값이 있다. char t에 'A'가 할당되어 있고, int r에는 15가 할당되어 있다. 이를 포인터 변수인 g와 v에 각각 할당하려고 하면 코드로는 다음과 같이 나타낼 수 있다. 이 포인터 변수 *g, *v는 각각 t와 r을 "가리키는.. 2022. 6. 20.