본문 바로가기

C14

[C]변수 const 변수 const 변수에 const 키워드를 붙여서 사용할 경우 그 변수를 읽기 전용(상수화) 시킨다는 뜻이다. 즉 const를 붙여서 읽기 전용(상수화) 된 변수는 그 값을 변경할 수 없는데, const 키워드를 어디에 붙이느냐에 따라서 그 의미가 조금씩 달라진다. const 키워드는 상수화 키기고 싶은 곳 뒤에 붙여서 그것을 읽기 전용(상수화) 시킨다. 기본 type const const int nData = 10; const 키워드를 붙여서 int형 변수 nData의 값을 읽기 전용(상수화) 시키고 있다. 기본적인 사용 방법으로 const 키워드가 맨 앞에 위치해 있지만 원래 위치는 다음과 같다. int const nData = 10; 이렇게 상수화 시키고 싶은 type의 뒤에 위치했지만 다른 키워드.. 2018. 1. 11.
[C]kbhit(), getch(), 방향키입력 kbhit() kbhit() 함수는 키보드가 입력되었는지를 확인하는 함수이다. 즉, 입력 버퍼의 내용을 확인하여 키의 입력이 있다면 true 없다면 false를 반환한다. kbhit() 함수의 장점은 waiting 함수가 아니라는 점이다. 만약 입력 함수를 통해 키의 입력을 확인하려고 입력 함수를 호출한 시점부터 대기 상태에 들어가서 입력이 들어올 때까지 기다리게 된다. 하지만 kbhit() 함수의 경우 입력이 있든 없든 바로 반환하기 때문에 반환 값에 따라 작업을 진행하게 할 수 있다. getch() scanf_s()와 비슷하게 입력을 받는 함수이다. scanf_s()와 다른 점은 입력한 키보드의 내용이 화면에 출력되지 않는다는 점이다. 또한 Enter key를 통해 입력을 확인하지 않고 키를 누른 순.. 2018. 1. 9.
[C]gotoxy() 콘솔 커서 이동 함수(SetConsoleCursorPosition) gotoxy() 함수 printf()와 같은 함수를 사용하여 화면에 출력할 때 맨 앞이 아닌 내가 원하는 특정 위치에 출력을 하고 싶을 때 사용하는 함수가 gotoxy() 함수이다. gotoxy() 함수는 어디에 따로 정의되어 있는 함수가 아니기 때문에 사용자가 직접 정의하여 사용하면 된다. 함수의 형태는 다음과 같다. void gotoxy(int x, int y) { COORD Pos; Pos.X = x; Pos.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos); } 기본 모양은 위와 같으며 함수의 이름이나 내용은 본인 마음대로 표현하면 된다. 다만 SetConsoleCursorPosition(GetStdHandle(STD_OU.. 2018. 1. 9.
[C/C++][함수]반환형 함수 함수의 반환형이 void를 제외한 다른 자료형 type의 경우 함수를 호출하면 반환형 type의 임시 변수를 생성하고, 함수의 return 값을 그 임시 변수에 복사해서 저장한다. 그리고 이를 사용하기 위해서 다시 함수를 호출한 영역에서 반환형 type의 변수를 생성하여 그 임시변수저에 저장된 값을 다시 복사해서 저장하다. 따라서 값의 복사가 두 번 일어난다. 위의 그림과 같이 복사가 일어나고 값의 복사가 많이 일어날수록 리소스를 많이 사용하기 때문에 call by value 형태의 함수를 잘못 사용하면 프로그램이 느려진다. 그래서 함수의 형태를 int sum(int nData1, int nData2); 이런 반환형이 있는 함수보다는 다음과 같이 반환형을 제거하고 결과 값을 받아올 변수의 주소 값을.. 2018. 1. 8.
[C][2차원배열]달팽이 배열 달팽이 배 달팽이 배열은 2차원 배열에 숫자를 소용돌이 모양으로 초기화하는 배열입니다. 모습은 다음과 같습니다. n x n 배열에서 규칙을 찾아보면 첫 인덱스부터 가로 n, 세로 n-1, 가로 n-1, 세로 n-2 순으로 돌아가는 것을 알 수 있습니다. 즉, 5 x 5 배열에서 보면 5 4 4 3 3 2 2 1 1 순으로 가로와 세로를 번갈아가며 초기화하는 것을 볼 수 있습니다. 그리고 가로와 세로가 세트로 돌아올 때마다 index의 변화가 양수 -> 음수, 음수 -> 양수로 변하는 것도 볼 수 있습니다. 이를 통해 먼저 5 4 4 3 3 2 2 1 1 순으로 반복하는 규칙과 가로와 세로를 한 세트로 하되 index의 변화가 양수 -> 음수, 음수 -> 양수로 변화하는 규칙 두 가지를 가지면 됩니다. i.. 2018. 1. 2.