본문 바로가기

언어/C++41

[C++ 기본 공부정리] 8. 문자열(string) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 문자열(string) 이란 여러 문자(character)들의 집합이다. c++에서 이 문자열을 사용하는데 2가지 방법이 있다. 첫 번째는 C언어 스타일로 char형 배열에 문자열을 저장해 배열을 문자열처럼 사용하는 것과 두 번째는 표준 라이브러리에 존재하는 string 클래스를 이용하는 것이다. 1) NULL문자 C++에서 문자열 변수는 문자열의 끝을 프로그램에 따로 알려주어야 한다. 그래야 프로그램이 문자열에 속한 값과 그 외의 쓰레기 값을 구분할 수 있다. 따라서 문자열의 끝을 의미하는 문자를 하나 더 삽입해 주는데 이 문자를 널(NULL) 문자라고 하며, \0으로 표시한다. 널 문자의 유무로 .. 2019. 11. 29.
[C++ 기본 공부정리] 7. 동적할당(dynamic allocation) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 동적할당에 대해 이해하기 위해 메모리의 구조에 대해 알아야 한다. 변수등을 생성하게 되면 메모리에 공간을 할당 받는대 메모리 메모리 영역이 구분되어있고 각 영역마다 하는 역할이 다르다. 메모리는 크게 사용자 영역과 커널 영역이 나뉘어 있다. 사용자 영역은 하나의 프로세스에 할당되는 메모리 공간의 일부 영역이며, 프로그램이 동작하기 위해 사용되는 메모리 공간(코드 영역, 데이터 영역, 스택 및 힙 영역)을 가리켜 사용자 영역(User 영역)이다. 커널 영역은 하나의 프로세스에 할당되는 총 메모리 공간 중에서 유저 영역을 제외한 나머지 영역이며, 운영체제라는 하나의 소프트웨어를 실행시키기 위해서 필요한.. 2019. 11. 23.
[C++ 기본 공부정리] 6. 포인터(pointer) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 포인터를 이해하기 위해 주소 값이 무엇인지 알아야 한다. 변수 등에서 어떤 데이터를 저장하기 위해 메모리에서 저장할 공간을 할당받는다. 그럼 이 데이터를 찾아서 호출하기 위해서는 이 데이터가 메모리 어느 부분에 저장되어 있는지를 알아야 한다. 이때 데이터가 저장된 메모리의 시작 주소를 주소 값이라고 한다. 예를 들어 int형 데이터를 저장하기 위해 변수를 하나 선언했다면 4 bytes 크기로 메모리에 공간이 할당된다. 주소: 0x0001 / 변수로 할당 받은곳 주소: 0x0002 / 변수로 할당 받은곳 주소: 0x0003 / 변수로 할당 받은곳 주소: 0x0004 / 변수로 할당 받은곳 주소: 0x.. 2019. 11. 22.
[C++ 기본 공부정리] 5-2. 배열(Array)-다차원(multidimensional arrays) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 다차원 배열은 2차원 이상의 배열을 뜻한다. 1차원 배열이 1개의 행을 가진 배열이라면 2차원 배열은 행과 열을 모두 가진 행렬이 되며 3차원 배열은 배열의 요소로 2차원 배열이 들어가게 되어 x,y,z축이 생긴다고 생각하면 편하다. 3차원 이상으로 가면 3차원 처럼 배열의 요소로 n차원 배열이 들어가게 된다. (3차원 배열은 도형의 회전, 이동 등 3D그래픽에 사용된다.) 1. 2차원 배열 2차원 배열도 각 요소가 1차원 행렬을 가진다고 생각하면 된다 따라서 행렬과 같은 모양이 이라고 생각하면 편하다. 문법) 타입 배열명[행의 개수][열의 개수]; [0][0] [0][1] [0][2] [1][0].. 2019. 11. 21.
[C++ 기본 공부정리] 5-1. 배열(Array)-1차원 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 배열은 같은 타입을 가진 변수들의 집합으로 볼 수 있다. 같은 타입의 변수들을 저장할 여러 개의 공간을 할당받는 것이므로 선언한 타입과 몇 개의 데이터를 저장할 것인지 에 따라 배열이 할당되는 크기가 달라진다. 배열을 이루는 각각의 값들을 배열의 요소(element), 각 요소들의 배열내에서의 위치를 가리키는 번호를 인덱스(index)라고 한다. 배열의 인덱스는 무조건 0번이 첫 번째 요소를 가리킨다. 배열은 1차원 배열과 다차원 배열이 존재하게 되는데 배열을 행렬처럼 생각한다면, 1차원 배열은 1개의 행을 가진 배열이다. 예) 아래의 표를 정수형 데이터를 가지는 1개의 배열이라고 하면 10 20 .. 2019. 11. 21.
[C++ 기본 공부정리] 4-2. 제어문-반복문 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 반복문 또한 조건문과 마찬가지로 조건이 주어지고 해당 조건이 true일 경우에 {} 안의 코드를 실행하게 된다. 다만 조건문은 한번 실행하고 종료되지만 반복문의 경우 조건을 만족하지 않을 때까지 반복하게 된다. 반복문의 경우 크게 while, do while, for 문 총 3가지로 나뉜다. 1. while 문 문법) while (조건문) { 실행 코드; } while을 만나게 되면 조건문을 만나 참 거짓을 판단하고 참일경우 해당 반복문의 {} 안의 코드를 실행하고 끝이 나게 되면 다시 조건 문으로 돌아오게 된다. 따라서 조건문이 계속 참일 경우 반복문이 끝나지 않는 무한루프에 빠지므로 반복문이 종.. 2019. 11. 19.