C++20 [C++] 재귀함수 재귀함수 - 함수 안에서 자기 자신을 호출하는 함수 자기 함수 내에서 자기 자신과 동일한 함수를 호출하는 형태 반드시 탈출 조건이 있어야 한다!!!! 재귀함수는 가독성, 구현의 용이 ※ 잘못 사용하면 Stack overflow라는 오류가 발생할 수 있다. 팩토리얼 함수 int Factorial(int _iNum){ int iValue = 1; for(int j=0; j< _iNum-1; ++j){ iValue *= (j+2); } Factorial(10); //재귀함수 return iValue; } 재귀함수를 이용하여 팩토리얼을 구현해보자. 10!을 구해보면 10! = 10 X 9! 이랑 같다. 이를 계속 적용해보면, 이 부분을 코드로 나타내면 다음과 같다. int Factorial_Re(int _iNu.. 2023. 2. 23. [C++] 팩토리얼 함수 구현하기 int main() { int i = 4; int iValue = 1; for(int j=0; j< i-1; ++j) { iValue *= (j+2); } int main() { int i = 4; int iValue =1; for(int j =0; j < i-1; ++j){ iValue *= iValue; iValue++; } 함수로 구현하기 - 모듈화 (재사용성을 높인다!!) int Factorial(int _iNum){ in5 iValue =1; for(int j=0; j 2023. 2. 23. Visual Studio 단축키 & 편의 사항 단축키 - 한번에 주석 : Ctrl + k 한번 c 한번 누르기 - 주석 풀고 싶을 때 : Ctrl + k 한번, u 한번 누르기 - Alt +Drag : 원하는 부분만 드래그 할 수 있음 디버깅 관련 단축키 - 디버깅 시작 : F5 - 중단점 생성 및 해제 : F9 - 디버깅 중, 구문 수행 : F10 - 디버깅 중, 구문 수행(함수 진입) 한 단계씩 코드 실행 : F11 2023. 2. 23. [C++] 함수 함수 (function) //함수 int Add(int a, int b) { return a+b; } //함수 int main(){ int iData = Add(100,200); return 0; } 프로그래밍을 실행한다는 것은 main() 함수를 호출한다는 것이다! (제일 먼저 실행되는 함수는 mian( ) 함수이다!) 그리고 나서 main()안에 있는 또 다른 함수를 또 호출한다! (Add() 함수) 더이상 호출할 함수가 없으면 프로그래밍 종료됨! (main( ) 함수가 종료된다는 뜻) 프로그래밍이 종료되지 않고 반복적으로 호출되는 애들 누구? 반복문 - 조건을 주고 조건이 조건이 완료되기 전까지 코드가 일정 구간을 반복한다 (조건에 만족시키면 일정 코드 구간을 계속 반복하여 실행함) - for ( .. 2023. 2. 22. [C++] 변수 변수 지역 변수 : 괄호 안에 선언되어 있는 변수들 (함수 안쪽에서 선언된 변수들) 전역 변수 : 괄호 외부에 선언된 변수들 정적 변수 외부 변수 지역과 전역을 나누는 기준은 "함수"이다. 함수(function) - 기능의 모듈화 : 작은 기능부터 기능화를 잘 시켜놓으면 점점 더 큰 기능이 만들어진다. - 기능을 잘 구별하고 쪼개야한다! - 기능을 잘 쪼개서 함수로 만들어 놓고 나중에 필요할 때마다 호출해서 쓰는 식으로 가는 것이 바람직하다. //return 타입이 int라고 알려줌 //반환타입 int Add(int left, int right){ //left와 right는 지역변수 return left + right; } data = Add(10,20); 지역변수 안에 지역변수 존재 가능!! 서울시 안.. 2023. 2. 22. [C++] 비트 연산자 비트 연산자 - 비트 단위로 연산이 진행될 때 사용하는 연산자 - 비트 쉬프트(bit shift) : > 화살표가 가리키는 방향으로 민다. 비트를 왼쪽, 오른쪽으로 민다!! ex) unsigned char byte = 1; byte 많이 쉬었음 -> 피곤한 상태 0으로 피곤한 상태 제거하고 싶다면? 특정 자리 비트 제거 xor 연산을 사용하지 않음 → 문제가 있다 //특정 자리 비트 제거 iStauts &= ~THIRSTY; 현재 캐릭터 상태 ... ... 1 1 1 0 1 0 1 0 위에 형광표 친 부분의 상태(목마름1 -> 목마름0) 뺄거임 -THIRSTY 준비 ... ... 0 0 0 0 0 0 1 0 - 비트 곱을 진행하기 전에 내가 원하는 상태(THIRSTY)를 반전시킨다. ... ... 1 1.. 2023. 2. 22. 이전 1 2 3 4 다음