Programming(141)
-
Ch07. 포인터 - 03.문자열과의 관계
1. 문자열의 이름과 포인터이전에 배웠던 배열의 경우는 배열의 이름은 배열의 첫번째 요소의 주소값을 반환했었는데 문자열 또한 마찬가지이다.이렇게 사용이 가능하다. 조금 다른 점은 배열의 경우는 std::cout에 넣었을 경우 주소값을 반환했으나 문자열의 경우는 값을 반환한다는 점이다. 이는 std::cout 2. 문자열 리터럴과 포인터이전에 정수 리터럴은 포인터에 직접 넣을 수 없었으나 문자열 리터럴의 경우는 직접 포인터에 넣는 것이 가능하다.물론 그렇게 넣기 위해서는 해당 값이 변경되지 않도록(상수이기 때문에) const를 넣어 sptr을 사용해서 값을 변경할 수 없도록 해줘야 사용이 가능하긴하다. 이게 가능한 이유는 정수 리터럴과 문자열 리터럴의 처리 방식에서 있다. 정수 리터럴의 경우는 int n..
2025.04.09 -
Ch07. 포인터 - 02. 배열과의 관계
포인터와 배열의 관계에 대해서 알아두기에 앞서 먼저 알아둬야할 부분에 대해서 나열해보도록 하자. 0. 배열과 포인터의 관계를 알기 이전에 알아둬야 할점1) 배열의 이름은 배열의 첫 번째 요소의 주소이렇게 arr을 출력했을때의 값과 &을 붙여 arr의 0번째 요소의 주소값을 확인해보면같은 주소를 출력하는 것을 알 수 있는데 이는 배열의 이름(배열의 변수명)만을 사용할때는 배열의 가장 첫요소의 주소값, 배열의 시작지점의 주소값을 전달한다는 것이다 2) 배열과 포인터는 매우 밀접한 관계를 가지며 서로 거의 동일하게 작동하는 경우가 많음뒤에서 배울 내용이지만 포인터와 배열은 아주 비슷하게 작동한다.먼저 포인터에는 배열의 이름을 전달하면서 주소값을 할당하는 것이 가능한데 arr, 배열의 이름을 사용하는 경우 그것..
2025.04.09 -
Ch07. 포인터 - 01. 포인터의 기본
1. 포인터포인터는 다른 변수나 메모리의 주소를 저장하는 변수로 일반 변수의 경우는 값을 저장하나 포인터는 어디에 값이 있는지(메모리 주소)를 저장한다. C++ 프로그램이 실행되면 변수들이 메모리(RAM)에 저장된다.각 변수는 이 메모리 안에서 고유한 주소를 갖게 되는데int a = 450;이렇게 선언된 변수는 RAM의 어딘가에 저장이 되고 그 어딘가를 특정하기 위한 주소값이 생성된다. 포인터는 이렇게 선언된 변수의 위치를 저장한 주소값을 담을 수 있는 변수인 것이다. 2. 포인터의 선언포인터의 기본적인 선언 방식은타입 * 포인터변수명;과 같이 선언하며 실 사용의 예시를 보자면int * ptr;으로 이 포인터의 경우는 int 타입의 변수 혹은 상수의 주소값을 저장할 수 있는 포인터 변수를 선언한 것이다...
2025.04.08 -
Ch06. 복합데이터 - 09. Range-based for
1. Range-based forC++11에서 도입된 문법으로 배열이나 STL 컨테이너의 원소들을 간결하게 순회할 수 있게 해주는 for문이다. 기존의 for문의 경우는 for (int i = 0; i 이렇게 사이즈를 알아야만 사용할 수 있었던 반면 Range-based for 방식의 경우는for (int value : arr) { std::cout 좀더 간결하고 가독성있게 사용이 가능하다. 기본 문법의 형태는for (변수 : 순회 대상) { // 반복문 본문}로 사용하고 실 사용법은std::arr nums = {1, 2, 3, 4, 5};for (int n : nums) { std::cout 이렇게 사용이 가능하다. 물론 일반 arr의 경우도 해당 방법이 사용이 가능하다.int arr..
2025.04.08 -
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