Programming(219)
-
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 -
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