본문 바로가기

C++33

[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.