Programming Language(143)
-
Ch06. 복합데이터 - 08. std::array
1. std::arraystd::array는 C++11부터 도입된 고정 크기 배열 컨테이너로, C 배열(int arr[5])의 단점을 보완하면서 STL의 장점(반복자, 알고리즘, 범위 검사 등)을 제공하는 템플릿 클래스이다 std::array를 사용한다면 array라는 라이브러리를 include 해줘야한다.#include 2. 기본 문법std-array의 선언은 아래와 같이 사용한다.std::array 변수이름;실 예시는 std::array arr = {1, 2, 3, 4, 5};와 같이 사용이 된다. 일반 배열은 초기화하면서 선언하는 경우엔 배열의 크기를 지정하지 않아도 초기화하는 값의 길이에 맞춰 크기를 맞췄으나 std::array의 경우는 불가능하다.이는 array자체가 내부적으로 크기를 무조건 ..
2025.04.08 -
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