본문 바로가기

C언어 변수10

C언어 [파일입출력] ▣ fopen() : 파일 열고 생성 fopen() 함수원형 : FILE*(반환형 FILE포인터) fopen(const char*name(위치 및 파일 이름), const char*mode(모드지정)); ▣ 모드 종류 r : 읽기 모드 w : 쓰기(파일이 존재하면 기존 내용이 삭제된다.) a : 추가(파일이 있으면 데이터가 끝에 추가된다.) r+ : 읽기와 쓰기 모드(파일이 존재해야 한다.) w+ : 읽기와 쓰기 모드(파일이 존재하면 새 데이터가 기존 데이터를 덮어쓴다.) a+ : 읽기와 추가 모드 (파일이 존재하면 데이터가 파일 끝에 추가된다. 읽기는 어떤 위치에서나 가능) ▣ fputc() : 한 글자를 파일에 쓰는 함수 fputc() 함수원형 : fputc('문자', FILE*) ▣ fclose(f.. 2023. 2. 15.
C언어 - [Beep함수, 음파] ▣ Beep()함수를 사용하려면 우선 헤더를 정의해주세요. ▣ 그리고 Beep()함수에 매개변수 값을 조절하며 음정을 만들고 음악을 만들어보세요. 코드는 순차적(순서대)으로 작동합니다. 2022. 8. 19.
C언어 - [헤더파일] ▣ 안녕하세요. 이번장에서는 헤더 파일이 무언인지 알아보겠습니다. ▣ 먼저 test.c로 소스파일을 추가해서 코드를 작성해보겠습니다. 반환형은 int형으로 매개변수는 두개, 리턴 값으로 두 매개변수의 값을 반환하는 코드입니다. ▣ 그리고 h헤더파일을 추가하여 int sum(int num1, int num2); 함수에 존재를 선언하는 코드를 작성합니다. ▣ 그리고 #include "testh.h"를 선언합니다. 그러면 아까 test에서 정의해서 만들었던 함수를 사용할 수 있습니다. sum() 함수를 사용하여 매개변수 값을 전달하면 값을 받아와서 출력하면 더한 값이 출력되는걸 확인할 수 있습니다. ▣ 이렇게 헤더파일은 메뉴판, 선언문 정도 생각하시면 됩니다. 코드를 작성하여 다른 소스코드에 h를 사용하고 접.. 2022. 1. 26.
C언어 - [malloc, 메모리할당, memset] ▣ 메모리를 할당하려면 먼저 #include 를 선언해주세요. 그리고 주소를 저장하는 변수 포인터에 malloc(sizeof(int))함수로 메모리를 할당해주세요. 그럼 int 4byte만큼 메모리가 할당되고 그 메모리에 주소 값이 포인터에 대입이 됩니다. 그리고 %p 형식으로 메모리 주소를 확인해보면 이렇게 각각에 주소가 나오는 걸 확인할 수 있습니다. ▣ 여기서 기억해야 할껀 malloc()함수의 원형 형태는 void * malloc(size)입니다. 그렇기 때문에 void 반환형이 없다라는 자료형이므로 만약 int*주소를 반환하고 싶다면 (int*)malloc(size)로 코딩을 진행해야 합ㄴ디ㅏ. ▣ 직접 중단점을 찍고 디버그를 해서 메모리를 확인해보겠습니다. p2에 값을 확인해보면 이렇게 4by.. 2021. 5. 17.
C언어 - [공용체, 열거형, 구조체비트필드] ▣ 우선 공용체는 쉽게 이야기하면 메모리를 공용으로 사용하는 구조체라고 생각하시면 됩니다. union으로 구조체와 동일하게 선언해주시고, 안에 변수를 선언해주세요. 그리고 main함수에서 union Game game;으로 정의한 후에 printf() 함수로 각각에 메모리 크기를 출력해보세요. 그럼 메모리 크기가 가장 큰 자료형 크기로 공용체가 정의되어 있음을 확인할 수 있습니다. ▣ 같은 메모리를 사용하는지 값을 넣어서 확인해보겠습니다. char, short, int 형 중에 가장 큰 자료형인 int game.score에 값을 넣어보겠습니다. 숫자 앞에 0x가 있으면 16진수입니다. 형식 지정자도 % x를 해야지 16진수로 출력되게 됩니다. ▣ 출력해보면 나누어져 값이 들어가 있는 걸 확인할 수 있습니다.. 2021. 5. 17.
C언어 - [글자 위치 이동, 커서 이동 코드] ▣ 커서에 위치를 지정하려면 우선 windows.h 헤더파일 선언하고 함수 선언 및 정의를 해야한다. 함수에 매개변수에 x, y 값을 받을 매개변수를 선언하고 HANDLE 자료형을 선언한다. 이건 쉽게 이야기하면 windows에 도구를 사용하기 위한 키값이라고 생각하시면 됩니다. GetStdHandle(STD_OUTPUT_HANDLE) 출력하는 핸들 값을 handle에 정의하고 COORD 는 포지션을 구조체로 지정한다. pos.X = x, pos.Y = y 값으로 매개변수에 x, y 값으로 대입한다. SetConcoleCursorPosition(handle, pos) 커서를 지정하는 구조체에 매개변수 처음 값은 STD_OUTPUT_HANDLE 값과 COORD 포지션에 값을 각각 넣어주고 ▣ 메인 함수에서.. 2021. 5. 6.
C언어 27장(c언어 게임만들기_4.0 , 게임오버, 함수 응용, 배열응용, 전역변수, 조건문 활용, 반복문, 콘솔글자색 바꾸기, 배경색) ▣ 안녕하세요 저번장까지 완성해 보셨나요? 여러분들이 만든 c언어 게임이 궁금하네요 ^^ 혹시 만드시다가 피드백이 필요하신 분은 댓글 남겨주세요~~ ▣ 그럼 오늘은 플레이어 HP가 0이면 게임오버가 나오게 해 보겠습니다. 먼저 ▣ 게임 메뉴 콘솔 창에 크기를 조절해 주겠습니다. 이건 우리가 처음 시간에 하지 않았습니다. 그건 다시 게임 메뉴로 돌아올 상황이 없기 때문에, 기본 콘솔 창설 정으로 시작했지만, 이번에는 게임오버를 호출하고 다시 게임 메뉴로 돌아올 상황이 있기 때문에, 콘솔 창에 크기를 지정해주었습니다. 그렇게 하지 않으면, 우리가 게임 씬에서는 콘솔 창을 작게 정했기 때문에, 게임 메뉴 글자가 작아서 깨져서 보이겠죠? 설정한 다음에 ▣ 이번에는 전역 변수로 가서 몬스터에 파워를 지정해주겠습니.. 2020. 6. 26.
C언어 26장(c언어 게임만들기_3.5 , 랜덤함수, time함수, 함수 응용, 배열응용, 전역변수, 조건문 활용, 반복문활용, 콘솔글자색 바꾸기, 배경색) ▣ 안녕하세요 ^^ 저번장까지에 내용을 활용하여 게임 잘 만들어보셨나요? 지금까지 포기하지 않고 열심히 달려오신 분은 분명 많이 실력이 늘었을 거라 생각합니다. 코딩은 무언가 만들어갈 때 실력이 가장 빠르게 향상됩니다. 그러니 포기하지 마시고 끝까지 진행해 주세요. ▣ 그럼 오늘은 플레이어가 레벨업을 하면 파워가 오르고 그 파워에 따라 몬스터한테 공격을 할 수 있고, 그리고 몬스터가 랜덤으로 우리가 공격했을 때 아니면 몬스터가 살아있는 게임씬함수로 호출될 때 우리를 공격하는 코드를 간단하게 해 보겠습니다. ▣ 다시 말씀드리지만, 제 코딩이 정답이 아닙니다. 저는 정말 쉽게 만들자라는 생각으로 만들었습니다. 그러니 코드에 활용과 최적화 그리고 가독성을 생각하시면서 여러분들만에 게임코딩을 만들어주세요. 제가.. 2020. 6. 19.
C언어 25장(c언어 게임만들기_3, 배열응용, 응용 함수, 전역변수, 조건문 활용, 반복문, 콘솔글자색 바꾸기, 배경색) ▣ 안녕하세요 ^^ 저번장 숙제는 다해보셨나요? 이제 게임에 틀이 거의 완성되어 가고 있네요. 오늘은 플레이어가 몬스터를 죽이면 경험치가 오르고 레벨업을 하는 아주 간단한 함수를 구현해 보겠습니다. ▣ 매 장마다 말씀드리지만, 제가 만든 코딩이 정답이 아닙니다. 정말 쉽게 게임을 만들기 위해서 가독성과 최적화를 생각하지 않고 만들었기 때문에, 이점 참고해주시고 공부하면서 여러분들만에 코딩으로 바꿔서 게임을 만들어보세요. ▣ 먼저 게임 정보 함수에 플레이어에 레벨과 경험치를 표현해주는 함수를 추가해 보겠습니다. 경험치를 함수 표현한 하는 이유는 우리가 경험치 게이지를 배열로 표현해야 하기 때문입니다. ▣ 경험치게이지를 배열로 만들어서 색을 넣고 표현했습니다. 경험치에 변수값에 따라 반복하게 하게 하는 형식.. 2020. 6. 12.
C언어 24장(c언어 게임만들기_2.5, 응용 함수, 전역변수, 조건문 활용, 콘솔글자색 바꾸기, 배경색) ▣ 안녕하세요 ^^ 게임 잘 만들고 계신가요? 오류가 나고 많이 안 되는 부분들이 있으셨을 거라 생각합니다. 그 과정이 필요합니다. 코딩은 자꾸 틀리고 다시 읽어보고 고치고 하는 과정들이 필요합니다. 인내해 주세요~~ 어느새 여러분들이 많이 성장했을 겁니다. 도움이 필요하시면 방명록이나 댓글 남겨주세요~~ ▣ 오늘은 간단하게 몬스터가 등장하고 몬스터를 공격하는 코딩을 간단하게 진행해 보겠습니다. ▣ 공부하시다가 주의하실 부분은 최적화와 코딩에 가독성을 많이 생각하지 않고, 단순히 쉽게 게임을 만든다라는 목표로 게임 만들기 장을 구성했으니 이점 참고하시고 공부해 주세요~~ 제 코딩이 정답이 절대 아닙니다!!! ▣ 먼저 게임 정보를 좀 더 추가해 보겠습니다. player Hp와 공격 및 아이템 획득 문구를 .. 2020. 6. 8.