본문 바로가기

c++22

[C] 배열 [C] 배열 배열의 특징 1. 배열은 메모리가 연속적인 구조이다. 2. 배열의 이름은 배열의 시작 주소이다. 특정 요소에 접근하고자 할 때 인덱스를 통해 접근한다. int iArray [10] = { }; 위 코드는 int 자료형 10묶음인 iArray를 0으로 초기화해서 만들겠다는 뜻이다. 빈 괄호 { }는 0 초기화를 뜻한다. iArray가 이 배열의 시작 주소 값이다. iArray [10]=10; 배열의 개념을 미리 아는 사람은 위 코드가 틀렸다는 것을 알 수 있다. 틀린 문장이다! 배열의 인덱스는 0부터 시작한다. 즉 iArray [10] 배열일 경우에는 iArray [9]까지만 값을 넣을 수 있는데 메모리를 초과해서 다른 곳에 넣었다. 다버그에도 잡히지 않는다면 다른 곳의 값이 틀릴 수 있다. .. 2022. 1. 1.
[C] 재귀 함수(2), 피보나치 수열 [C] 재귀 함수(2), 피보나치수열 목차 1. 스택 메모리 영역이란? (재귀 함수 (1)) 2. 재귀 함수란? (재귀 함수 (1)) 3. Factorial 기능을 구현하고 싶다. (재귀 함수 (1)) 3.1. Factorial 기능의 그냥 코드 구현 (재귀 함수 (1)) 3.2. Factorial 기능의 함수 구현 (재귀 함수 (1)) 3.3. Factorial 기능의 재귀 함수 구현 (재귀 함수 (1)) 4. 피보나치수열 4.1. 피보나치수열의 함수 구현 4.2. 피보나치 수열의 재귀 함수 구현 재귀 함수는 가독성이 좋고 구현이 용이하다. 편리하기는 하지만 상황에 따라 메모리 낭비가 심하기 때문에 뭐든지 적절하게 쓰는 게 중요하다. 마지막 가정 상황을 통해 한번 생각을 해볼 시간을 가질 예정이다. 일.. 2022. 1. 1.
[C] 비트 연산자 (<<, >>, &, |, xor, ~) [C] 비트 연산자 (, &, |, xor, ~) - 비트 연산자란? 비트 단위로 연산이 진행될 때 사용하는 연산자이다. 쉬프트 을 사용한다. - 2022. 1. 1.
[C] 재귀 함수(1) , Factorial 함수 [C] 재귀 함수(1) , Factorial 함수 목차 1. 스택 메모리 영역이란? 2. 재귀 함수란? 3. Factorial 기능을 구현하고 싶다. 3.1. Factorial 기능의 그냥 코드 구현 3.2. Factorial 기능의 함수 구현 3.3. Factorial 기능의 재귀 함수 구현 4. 피보나치 기능 4.1. 피보나치 수열의 함수 구현 (재귀 함수 (2)) 4.2. 피보나치 수열의 재귀 함수 구현 (재귀 함수 (2)) 1. 스택 메모리 영역이란? C, C++ 언어를 공부하고 있는 사람은 기본적으로 main 함수를 사용하고 있을 것이다. 함수가 사용하는 메모리 영역 : 스택 메모리 영역 Stack(스택) : 선입 후출, 후입 선출 (나중에 들어온 애가 먼저 나간다. 예: 쌓인 그릇, 엘리베이터.. 2021. 12. 30.
[C] 반복문(for, while), continue, break [C] 반복문(for, while), continue, break - 함수 main 함수 -> 안에 Add 함수, Add 함수를 실행하고 return 값과 함께 함수가 끝남 -> main 함수로 돌아옴 -> main 함수도 return으로 끝 Q: 그런데 함수는 하는 일이 다 끝나면 프로그램이 종료된다. 그렇게 하지 않고, 프로그램을 계속 실행하려면 어떻게 해야 할까? A: 반복문 (for, while) - for( ; ; ) 반복문 for (/*반복자 초기화*/; /*반복자 조건 체크*/; /*반복자 변경*/ ) { // 현재 이 코드는 for(){}와 같다. 아무 조건이 안 적혀 있기 때문에 무한으로 반복된다. } // 예시 for (int i =0; i 2021. 12. 29.