코딩/C++ 9

[C++] 동적 배열 만들기

동적 배열을 만드는 방법은 malloc을 쓰는 방법과 포인터를 쓰는 방법 두가지가 있다. 여기서 두 방법을 사용해 동적배열을 만드는 방법과 각각 데이터를 해제하는 방법을 살펴보자. 주의점 : 데이터를 해제하지 않으면 데이터 누수가 발생한다. C++ 동적 배열 생성 방법 1. 포인터를 사용한 방법 int A;//A를 만듬 cin >> A;// 정수 A를 입력받음 int* B = new int[A]; //B[A] 의 배열이 생김 delete[] B;// 동적 배열 B[A]를 해제 포인터 B 에 새로운 int [A]를 생성해줘서 배열을 만들었다. 방법 2. malloc을 사용한 방법 int A; cin >> A;// 정수 A를 입력받음 int* B = (int*)malloc(sizeof(int) * A);//..

코딩/C++ 2022.06.15

[C++] 구조체

추상화 추상화란 실제 세계(현상)를 간략화, 기호화, 보편화 해서 표현한 것이며 코드에도 추상화가 필요하다. 결국 코드는 사람이 짜는 것이기 때문에 다른 사람이 코드를 해석하기 편해야한다. 다른 사람이 인수인계를 받아서 유지보수 하기 편해야 한다. 다른 사람들과 함께 공동으로 코드를 만들기 편해야한다. c언어에서 코드를 추상화하는 데 사용되는 삼총사 : 배열, 구조체, 함수 배열 : 속성이 동일한 여러 데이터를 같은 이름과 순서를 지정한 연속된 번호로 서로 연관되어 있음을 표시함으로써 추상화한다. 구조체 : 데이터(자료형)을 실제로 쓰이는 데이터끼리 묶어서 추상화 함수 : 프로세스(코드)를 특정 기능 단위로 묶어서 추상화한다. 좋은 추상화, 나쁜 추상화 예시 - string a, b, c

코딩/C++ 2022.04.18

[C++] 배열

배열 같은 데이터타입의 여러 변수를 하나의 묶음으로 나타낸 것이다. 배열의 데이터타입에 대한 동일한 크기로 메모리 상에 연속된 공간이 할당된다. 배열명은 메모리 시작 주소이다. ex) int a = 4byte 할당 int a[10] = 4byte 할당 2차원 배열 및 다차원배열 배열이 (개념적으로) 2중 혹은 다중으로 구성되어 있는 것. 개념적으로 배열되어 있기에 실제론 1차원이다. 1차원 배열 : int Student_Names[5]; // 5개의 int -> 5명의 학생이 있다. 2차원 배열 : int Student_Names[3][5]; // 15개의 int -> 3개 반에 각각 5명의 학생이 있다. 3차원 배열 : int Student_Names[4][3][5] // 60개의 int -> 4개 학..

코딩/C++ 2022.04.13

[C++] 제어문

정의 제어문은 프로그램에 원하는 결과를 띄우기 위해서 프로그램의 순차적인 흐름을 조정해야 할 때 쓰는 명령문을 제어문 이라고 하며 조건문과 반복문이 존재한다. 조건문 특정 조건에 따라 실행문의 실행하거나 실행하지 않는 행동을 제어하는 명령문으로 if 와 switch 가 있다. if - 형식 if(조건식 1) = (조건식 1) 의 결과가 참일 때 (실행문 1) 이 실행 { (실행문 1) } else if(조건식 2) = (조건식 1)이 틀리고 (조건식 2)가 맞으면 (실행문 2)를 실행 { (실행문 2) } else = (조건식 1)과(조건식 2)의 결과가 거짓일 때 (실행문 3)가 실행 { (실행문 3) } - 예시 정수를 하나 입력 받아서 입력 받은 숫자가 10보다 크면 "입력된 숫자가 10보다 큽니다..

코딩/C++ 2022.04.12

[C++]연산자

데이터를 가공(연산)하는 모든 명령에 필요한 것들 어떤 종류의 연산자들이 있는가? 우선 순위 : 어떤 순서로 연산이 진행되는가? 결합 순서 : 좌측부터 연산하는 연산자, 우측부터 연산하는 연산자 연산자의 종류 1. 사칙연산 : 산술연산자 기호 설명 예시 + 더하기 11 + 3= 7 - 빼기 11 - 3= 8 * 곱하기 11 * 3= 33 / 나누기 11 / 3= 3 % 나머지 11 % 3= 2 계산 우선 순위 : *, /, % 는 +, - 보다 우선 계산된다. 예시) //사칙연산 예시 int left_value = 11; int right_value = 3; //0으로 나눌때 런타임 에러 발생 cout

코딩/C++ 2022.04.07

[C++]변수명 이름 규칙

04/06 비쥬얼 스튜디어 압축 저장 용량 낮추기 .vs(숨겨진 파일)삭제하고 압축 저장 vs파일 : 비쥬얼 스튜디오 환경 구축 파일(용량의 대부분 차지함) [빌드]-[솔루션 정리] 솔루션 정리로 줄이기 가능 깃허브(GitHub) 깃허브 가입 깃허브 데스크탑 다운로드 CPlusPlusStudy 링크 commit : 실제로 적용 전 서버에 임시로 올리기 repository :소프트웨어 저장소 float testNum = 2.8f; double testNum1 = 2.8; //실수형 뒤에 f를 붙이지 않으면 기본적으로 float가 아닌 double로 인식함 cout Text2; cout > a; //입력 cout

코딩/C++ 2022.04.07

[C++]컴퓨터 정의, 데이터 타입 정리

04/05 컴퓨터 정의 과거 : 계산하는 기계 현대 : 명령어들의 리스트에 따라 데이터를 처리하는 기계 프로그래밍 언어 기계어 : 0과 1로 이루어진 언어 (이진수) 어셈블리어 : 기계어 보다는 높은 수준의 저급 언어 CPU와 1대1 대응 가능한 언어 기호 높은 최적화에 단순 작업 유리 고급 언어 : 사람이 이해하기 쉽게 작성하는 언어(C, C++, JAVA) 알고리즘 정의 : 문제를 해결하는 절차 어떤 단계로 작업을 처리할 것인지 구상 순서도 설계에 이용 코딩 알고리즘을 프로그래밍 언어로 기술하는 행위로 텍스트 에디터나 통합 개발 환경을 이용해 작성한다. 컴파일 소스 프로그램을 목적 프로그램으로 변환하는 작업(컴파일러가 수행) 컴파일 오류 : 문법 오류 링크 컴파일 된 목적 프로그램을 라이브러리와 연결..

코딩/C++ 2022.04.07