전체 글(112)
-
Ch06. 복합데이터 - 07. 열거형(enum)
1. 열거형(enum)열거형이란 서로 관련있는 정수, 상수에 이름을 붙여서 사용할 수 있도록 해주는 사용자 정의 자료형이다.예를 들면 에러 코드값(404, 500, 200, 401 등등)이라던가 요일(월요일, 화요일...일요일)과 같이 서로 연관있는 도메인으로 엮인 정수 혹은 상수값을 묶어주는 자료형이라고 보면 된다.2. 열거형의 정의 및 선언1) 열거형의 정의 열거형은 enum이란 명령어를 사용해서 정의를 하는 데 방식은 아래와 같다.enum 열거형이름 {값1, 값2, 값3,...}; 예시를 보여주자면 enum Color { RED, BLUE, YELLOW};와 같이 정의할 수 있다.이렇게 정의된 값의 경우는 순서에 따라서 Default Value로써 enum Color { R..
2025.04.08 -
Ch06. 복합데이터 - 06. 공용체(union)
특정 변수에 대해서 값은 하나만 필요한데 그 하나의 값이 여러개의 자료형일 경우에는 어떻게 해야할까?예를 들어 어떤 품의 ID가 정수형일 수도 문자열일 수도 있는 경우는 어떻게 해야할까?struct Produce { int idGubun; // 어떤 타입으로 값을 받을지 지정하는 멤버변수 int idInt; char idChar[100];};Product p1 = {0, 15};if(p1.idGubun == 0){ std::cout 이렇게 사용하면 id가 int인지 char[]인지를 구분할 idGubun이라는 멤버 변수를 만들어줄 필요가 생기고 각 타입마다 메모리 공간을 차지하는 비효율적인 상황이 발생한다. 이런경우에 공용체라는 타입을 사용하면 된다1. 공용체(union)여러 개의 ..
2025.04.02 -
Ch06. 복합데이터 - 05. 구조체
1. 구조체(struct)서로 관련된 여러 개의 변수(데이터)를 하나로 묶는 사용자 정의 자료형으로 예를 들어, 이름, 나이, 키 등의 변수를 학생(Student) 이라는 단위로 묶어놓은 것이 구조체라고 할 수 있다.클래스(class)와 매우 유사하지만, 기본 접근 지정자가 다르다. 2. 구조체의 정의구조체를 정의하는 기본적인 방법은 아래와 같이 struct 구조체명 { 타입 멤버변수명1; 타입 멤버변수명2; . . . .};생성해주면 된다. 구조체 정의 생성의 예는 아래와 같고struct Student { std::string name; int age; double height;}; 이 구조체는 Student 라는 구조체로 Student, 학생으로써 가질 수 있는 데이터..
2025.04.02 -
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