Programming Language/C++(41)
-
Ch06. 복합데이터 - 04. String
1. std::stringstd::string은 C++ 표준 라이브러리에서 제공하는 문자열 클래스로 C 스타일 문자열(char[], char*)의 단점을 보완한 객체 지향적 문자열 타입이다메모리 자동 관리, 연산자 오버로딩, 편리한 문자열 조작 함수들이 내장되어 있다. std의 string을 사용하기 위해서는 가장 먼저 헤더를 선언해줘야 한다.#include *보통 #include 에도 포함되어 있음2. 사용방법기본적으로 std::string의 사용방법은 std::string 변수명 = 문자열;과 같은 방법으로 사용 가능하며 실 사용 예시를 보자면 std::string s1 = "String";과 같이 사용한다. 3. 주요 기능 및 메서드std::string은 기존에 char[] 의 형태로 구성되어 있..
2025.04.02 -
Ch06. 복합데이터 - 03. 문자열
1. 문자열우리가 기존에 사용했었던std::cout 이런 문자열들은 사실 char str[] = "String";std::cout 이와 같이 문자로 구성된 배열의 일종이다. 이건 실제로char str[] = {'S', 't', 'r', 'i', 'n', 'g', '\0'}과 같이 str에 들어가 있게 된다.그래서 출력을 해보면이렇게 출력되는 것을 알 수 있다.마지막에 빈것은 널문자라고 해서 문자열의 종료 지점을 알려주는 문자로 확인하기 위해서 타입을 int로 바꿔보면이렇게 널문자가 나온다는 것을 알 수 있다. 이 널문자는 문자열을 출력할때 이 문자열이 어디까지 존재하는지를 인식시켜주기 위함이다.그래서 만약에 널문자의 위치에 다른 문자를 끼워 넣은 다음에 str을 출력해보면이런식으로 그 이후의 이상한 문..
2025.04.01 -
Ch06. 복합데이터 - 02. 다차원 배열
1. 다차원 배열2차원 이상의 배열을 의미하며, 배열 안에 배열이 있는 구조라고 생각하면 된다.가장 일반적인 형태는 2차원 배열로 수학시간에 배웠던 행렬과 같은 모습으로 구성된다고 생각하면 된다.C++에서는 정적 배열로 표현되며, 배열의 차원 수가 많아질수록 메모리 접근이 복잡해진다. 2. 이차원 배열의 선언 기본적인 이차원 배열의 선언은 int arr[3][3];과 같이 선언한다. 구체화 해보자면타입 변수명[중첩되는 배열의 갯수][각 배열의 길이];로 와 같이 표현 되며int arr[2][3];의 경우는 int arr[3]+int arr[3]의 형태로 구성된다.2. 이차원 배열의 초기화이차원 배열의 경우는 아래와 같이int arr[2][3] = { {1, 2, 3}, {4, 5, 6}}배열 ..
2025.04.01 -
Ch06. 복합데이터 - 01. 배열(Array)
C++에서 배열(array)은 같은 자료형의 값들을 연속된 메모리 공간에 저장하는 자료 구조로 정적(static)으로 메모리가 할당되기 때문에, 크기가 고정되고 컴파일 타임에 결정되는 배열을 가장 기본적으로 사용한다. 1. 기본 배열의 선언 및 초기화배열의 선언배열의 기본 선언의 형태는 타입 변수명[배열의크기];와 같이 선언한다.int arr [10]; 이때 배열의 크기는 상수로만 올 수 있고 변수를 넣어서 선언은 불가능하다.만약 이렇게 변수를 넣어서 사이즈를 넣기 위해서는 변수를 상수로 전환시켜야만 한다.또 다른 방법으로는 메크로를 사용해서 넣어주는 방법도 있다. 보통 메크로를 사용하는 방법보다는 const로 상수로써 size를 전달하는 방식이 조금 더 많이 사용된다. 배열의 초기화배열의 경우 초기화가..
2025.04.01 -
Ch05. 흐름제어 - 03. for 문 (자바와 C++이 다른점, 유의점)
이전에 말했다 싶이 for문의 조건절 부분에 초기화문을 넣어주는 것도 가능하다보통은 이렇게 조건 부가 중앙에 위치하는데 여기서 사용자의 입력이 정상적으로 받아질때는 내부에 코드를 돌고 비정상적인 입력이 들어오면 for문을 나가도록 하게 하는 코드를 해보자면이렇게 만들면 이렇게 정상적인 입력을 했을때는 정상적으로 들어오는데 이렇게 문자 두개를 입력해서 비정상적인 값이 나오면 0으로 나오면서 false가 떨어지며 종료되게 된다. 이런 사용방법은 사실 의미는 없을 지 모르지만 이런 사용방식도 가능하다는 부분을 알고 있자. 추가로 이 for 문에 대해서 공부하는 방법으로는 피보나치 수열 만들어보기 등의 연습을 해보는게 좋을 것 같다 피보나치 수열의 경우는 아래의 조건을 만족하는 값을 출력시키면 된다. // 0..
2025.04.01 -
Ch05. 흐름제어 - 02. switch 문 (자바와 C++이 다른점, 유의점)
switch문에서 자바와 다른점은 switch 문의 () 안에 들어가는 값이 정수형이여야만 한다는 것이다.자바의 경우는 문자열 같은 것이 들어가도 사용이 가능한데 반면 C++에서는 정수형이 아니면 사용이 불가능하다.이렇게 결과를 내는데 반면 이렇게 문자열을 넣는 순간 아예 문법적 에러로 확인한다그렇기 때문에 switch에는 정수로서 인식할 수 있는 타입을 넣어줘야만 한다. # 추가적으로 모든 언어의 switch문의 경우는 동일하겠지만 switch문의 경우 조건에 맞는 case문을 만나면 그 시점부터 break를 만나기 전까지 모든 문장을 실행시킨다.그래서 이렇게 코드를 작성했다면 조건이 맞는 case 'a' 이후부터는 조건을 바라보지 않고 그냥 다 실행시킨다.그래서 보면 이렇게 만들었다면 case 'a'..
2025.03.30