분류 전체보기(43)
-
[C++] 호출 스택, 반복문 vs. 재귀함수[팩토리얼, 피보나치 수열], 꼬리 재귀
아래 링크 클릭 시 해당 본문으로 이동호출 스택(Call Stack)팩토리얼(Factorial)재귀함수1. 팩토리얼 ➜ 반복문2. 팩토리얼 ➜ 재귀함수피보나치 수열(Fibonacci Sequence)1. 피보나치 수열 ➜ 반복문2. 피보나치 수열 ➜ 재귀함수꼬리 재귀(Tail Recursion)호출 스택(Call Stack)• 현재 호출되어 있는 함수들의 메모리 상황을 보여준다.• 프로그래밍하는 데 있어서 어떤 문제점을 추적할 때 쓰인다.디버깅 중, 호출 스택이 보이지 않을 때 : [디버그] - [창] - [호출 스택]로컬 창과 호출 스택 장점• 로컬 창 : 현재 중단점이 걸려있는 지역(로컬)에 존재하고 있는 변수들을 보여준다.• 로컬과 호출 스택을 잘 활용하면 문제점을 빨리 찾을 수 있다.훨씬 복잡한 ..
2024.03.04 -
[C++] 반복문, 반복문 탈출 방법
아래 링크 클릭 시 해당 본문으로 이동반복문(Loop)1. for문2. while문반복문 탈출 방법 (continue, break)반복문(Loop)• 어떤 조건이 완료되기 전까지 코드가 일정 구간 반복(loop)되면서 같은 명령을 수행하게 하는 제어문• 프로그램에서 똑같은 명령을 일정 횟수만큼 반복하기 위해 사용하는 문장• 조건이 참인 동안 계속 반복하고 거짓이 되면 반복문을 끝낸다.초기식, 조건식, 증감식반복자(iterator) : 배열처럼 여러 개의 데이터의 집합으로 이루어진 자료구조를 순회하는 객체1) 초기식• 반복자 초기화로 초기값을 설정한다.• 처음 딱 한 번만 실행된다.• 보통 대입문의 형식이다. 2) 조건식• 반복자의 조건을 체크하여 반복문을 언제까지 실행할 것인지 결정한다.• 결괏값은 참(..
2024.03.03 -
[Visual Studio 2019] 자주 쓰는 단축키(기본 설정) 및 단축키 변경하는 법
아래 링크 클릭 시 해당 본문으로 이동단축키0. 주요 단축키1. 주석2. 여러 줄 선택3. 디버깅단축키 변경하는 법 단축키자주 쓰는 단축키들을 정리해봤다. 내용이 점점 추가될 예정이다. 0. 주요 단축키 및 기타1) 새 항목 추가• `Ctrl + Shift + A` 2) 한 줄 복사 (코드 줄 선택 또는 드래그 후 해당 단축키를 누르면 같은 코드가 한 줄 복사된다.)• `Ctrl + D` 3) 선언된 위치로 이동• 선언된 위치로 가고 싶은 코드 부분을 클릭 후 `F12` 4) 함수 선언에 관련된 목록(함수 파라미터) 보기• 함수 괄호에 커서를 놓고 `Ctrl + Shift + Space` 5) 함수 정의를 바로 만들기• 함수 선언한 부분에 커서를 놓고 `Ctrl` + `+` + `.` → '에서 정의..
2024.03.03 -
[C++] 입출력 (printf(), scanf(), cout, cin)
아래 링크 클릭 시 해당 본문으로 이동C의 입출력 방식printf()scanf()이스케이프 시퀀스형식 지정자C++의 입출력 방식coutcinC 입출력 방식 vs. C++ 입출력 방식C의 입출력 방식헤더 파일// C 방식#include // stdio.h => global namespace// #include : 내가 원하는 다른 기능을 포함시킨다는 의미, 전처리기이다.// stdio : standard input output (표준 입출력)// .h : 헤더 파일(header file)을 의미하는 확장자// C++ 방식#include // cstdio => std라는 namespace`printf()`와 `scanf()`를 사용하려면 `#include `라는 표준 입출력 헤더 파일이 필요하다.pr..
2024.03.03 -
[C++] 함수[main()], return, void
아래 링크 클릭 시 해당 본문으로 이동함수main()returnvoid함수 동작 방식함수 선언 또는 정의 없이 함수를 호출하면 발생하는 문제함수• 각각의 기능들을 함수라고 한다.• 함수 표현하는 법 : `함수명()`• 기능의 모듈화 : 밑에서부터 천천히 쌓아 올라가는 것작은 별도의 기능부터 큰 기능까지 만들 때, 모듈화 하는 습관을 가져야 한다.• 함수는 여러 번 호출할 수 있다.함수가 여러 번 호출될 때마다 함수가 사용할 만큼의 메모리 영역을 잡고 해제하며, 결과를 반환하고 함수가 종료되는 과정이 반복된다.`main()`• 프로그램을 실행시킨다. = 프로그램의 가장 첫 번째 함수인 `main()`를 호출한다.`return`• 해당 함수의 종료를 의미하며, 함수를 호출한 곳으로 돌아가서 결괏값을 반환한다..
2024.03.03 -
[C++] 메모리 영역, 변수
아래 링크 클릭 시 해당 본문으로 이동메모리 영역1. 스택(stack) 영역2. 데이터(data) 영역3. 힙(heap) 영역4. 코드(code) 영역변수(Variable)1. 지역 변수2. 전역 변수3. 정적 변수4. 외부 변수정적 변수와 외부 변수는 분할 구현에 대해 먼저 알고 공부하는 것이 좋다.참고 링크• 분할 구현메모리 영역프로그램이 실행되려면 먼저 프로그램이 메모리에 로드(load)되어야 하고, 프로그램에서 사용되는 변수들을 저장할 메모리 공간도 필요하다.• 로드(load)CPU에서 빠르게 처리할 수 있게 속도가 느린 저장소(ex. 하드 드라이브 등)에서 속도가 더 빠른 메모리(RAM)로 데이터를 이동하는 작업이다.컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다...
2024.03.02 -
[C++] 조건문(Conditional Statements), 삼항 연산자
아래 링크 클릭 시 해당 본문으로 이동제어문(Control Flow Statement)조건문(Conditional Statements)1. if문2. if - else문3. if - else if - else문4. switch문삼항 연산자(Ternary Operator)제어문(Control Flow Statement)• 프로그램에서 원하는 결과를 얻기 위해 순차적인 흐름을 제어하는 구문이다.• 코드는 위에서 아래로 순차적으로 진행되는데, 제어문은 코드의 실행 순서를 제어할 수 있다.• 제어문 종류 : 조건문, 반복문조건문(Conditional Statements)• 주어진 조건에 따라 코드의 실행 여부를 결정할 수 있게 하는 문장`if` : 만약 ~라면`else if` : 그게 아니고 ~라면`else` ..
2024.02.29 -
[C++] 연산자(Operators), 전처리기[#define], 연산자 우선순위
아래 링크 클릭 시 해당 본문으로 이동연산자(Operators)1. 대입 연산자(Assignment Operators)2. 산술 연산자(Arithmetic Operators)3. 복합 대입 연산자(Compound Assignment Operators)4. 증감 연산자(Increment&Decrement Operators)5. 비교 연산자(Comparison Operators)6. 논리 연산자(Logical Operators)7. 비트 연산자(Logical Operators)전처리기 (#define)비트 연산자 활용 예시#define 상태 값연산자 우선순위(Operator Precedence)연산자(Operators)• 연산 명령을 수행하는 기호• 연산자 종류 : 대입 · 산술 · 복합 대입 · 증감 · ..
2024.02.29