본문 바로가기

컴퓨터/C, C++

(4)
매개변수의 디폴트 값(default value) [C++] 우선 디폴트 값(default value)이란, 기본적으로 설정되어있어서 적용되는 값을 의미한다. 전역 변수와 같은 경우에는 기본적으로 0으로 초기화되는 것과 같은 맥락이다. #include using namespace std; void Func(int a = 1) { cout
함수 오버로딩[C++] C언어에서 함수를 선언할 때 같은 이름의 함수를 선언하는 것은 허용되지 않았지만 C++에서는 함수 오버로딩이라는 개념을 통해 같은 이름의 함수를 선언할 수 있는데 조건이 있다. 매개 변수가 같은지도 확인하는 것이다. int Func(int a, int b) int Func(int c) 위 코드에서 Func 이라는 두 개의 함수가 선언되었는데 매개변수를 보면 int a, int b가 선언된 Func이 있고 int c가 선언된 함수가 있는데 함수 이름이 같지만 매개변수가 다르면 함수를 선언하고 사용할 수 있다. 간단히 정리하면 C언어에서는 선언된 함수의 이름을 같은지 비교를 하는데 C++같은 경우에는 선언된 함수의 이름과 매개변수의 선언이 같은지 비교를 한다는 것이다. 그런데 함수 오버로딩이 아닌 경우도 있..
합병 정렬(merge sort) C언어 1. 합병 정렬이란? 합병 정렬은 폰 노이만이 제안한 비교기반의 분할 정복 정렬 알고리즘이다. 또한 안정 정렬 중 하나로 속한다. 그리고 최악의 시간 복잡도와 최고의 시간 복잡도는 O(n log n)이다. 2. 실행 순서(오름 차순일때) 1. 배열의 길이가 1이 될 때까지 반으로 나눈다. 2. 그리고 분리된 배열의 좌우를 기준으로 각각의 값을 비교한다. ex) 3과 4의 크기 비교를 한다. 결과 3 < 4 3. 오름 차순에 맞게 비교한 값을 작은 값부터 왼쪽으로 임시 배열에 저장한다. 4. 임시 배열에 저장한 값을 원래 배열에 저장한다. 이 4가지가 정렬이 다 될 때까지 실행이 되면 이렇게 된다. 3. 코드 #include void merge(int a[], int low, int mid, int hig..
C언어 printf() 함수와 puts() 함수 1. printf() 함수 standard input output header 파일에 포함된 함수로 출력할 때 사용하는데 printf() 함수 같은 경우에는 서식 지정자를 통해 출력할 데이터의 서식을 지정할 수 있어서 일반적으로 쓰인다. 그리고 개행을 하기 위해서는 이스케이프 시퀀스(escape sequence)인 \n을 사용하여 개행하여야 한다. 2. puts() 함수 puts() 함수도 마찬가지로 standard input output header 파일에 포함된 함수이며 일반적으로 문자열을 출력할 때 사용된다. 하지만 printf() 함수와 같이 서식 지정자를 통해 출력할 데이터의 서식을 지정할 수 없고 오로지 문자열만 출력이 가능하다. 또 다른 점은 \n을 사용하지 않고도 자동으로 개행한다. 3. ..