본문 바로가기

프로그래밍/C10

[C언어] 콘솔 텍스트 색깔 변경 C언어로 Console Application을 만들 때 텍스트 색깔을 변경할 수 있습니다. 500ms 주기로 무한반복하면서 텍스트 색깔을 랜덤으로 바꾸고 출력하는 프로그램입니다. windows.h 안에 있는 SetConsoleTextAttribute 함수 사용이 필요합니다. 두번째 인자에 WORD 타입으로 원하는 색상을 넣으면 됩니다. 2022. 2. 10.
[C언어] 아스키(ASCII) 코드 출력 무한루프 돌면서 키보드에 입력된 문자에 해당하는 아스키 코드를 출력하는 프로그램입니다. 아래는 아스키 코드 표입니다. 2022. 2. 10.
[C언어] bool 타입에 대한 흥미로운 이야기 얼마 전, C++ 프로그래밍을 하던 도중 bool이 아닌 BOOL 타입에 관한 의문점이 생겼습니다. bool 이라는 이름의 타입이 이미 존재하는데 어째서 windows.h 헤더파일에서 BOOL 타입을 정의해놓았을까. 아무 생각없이 int, char, float, double, __int64 까지 sizeof 연산자 이용해서 자료형 크기 출력하다가 BOOL 타입도 해보았습니다. printf("%d", sizeof(BOOL)); 위 명령문을 실행하면 결과값이 어떻게 될까요? bool 타입에 대해 어느정도 알고 계신 분이라면 1 이라고 생각하셨겠죠? 정답은 4 입니다. 전 당연히 windows.h 헤더에 #define BOOL bool 또는 typedef bool BOOL; 로 정의되어 있을 것이라 생각했었습.. 2012. 11. 19.
XOR 연산자의 활용 프로그래밍을 하다 보면 가끔 이런 상황이 생길 때가 있습니다. 플레이어의 국가(미국 or 러시아)를 저장하는 변수 state 가 있다고 합시다. 국가가 미국이면 state 변수에 1을, 러시아라면 2를 저장하여 구별합니다. 관리자가 를 입력했을 때 두 가지 상황이 생기게 됩니다. (단, 기타 오류로 인해 변수 state의 값이 1 또는 2가 아닐 경우는 생략) 첫번째, 플레이어의 국가가 미국일 때. 플레이어가 미군일 때, 즉 state 변수의 값이 1일 때 플레이어의 국가를 러시아로 변경하기 위해서 state 변수의 값을 2로 조정해야 합니다. 두번째, 플레이어의 국가가 러시아일 때. 플레이어가 러시아군일 때, 즉 state 변수의 값이 2일 때 플레이어의 국가를 미국으로 변경하기 위해서 state 변수.. 2012. 11. 19.