안녕하세요, IT디자이너입니다. 이번에는 파일과 스트림(Stream)에 관련된 표준 입출력 함수를 이용하는 방법에 대해서 포스팅하도록 하겠습니다. 우리는 C언어를 통해서 특정 외부장치에서 문자열을 입력하거나 출력하는 방법을 "C언어의 문자 & 문자열 함수!! (표준 입출력 함수-1)"을 통해서 알게되었습니다. 이번에는 이것을 조금 더 응용하는 방법입니다. 바로 텍스트 파일을 이용하는 것입니다. 입력과 출력의 대상이 콘솔에서 텍스트 파일로 바뀐 아주 간단한 문제입니다. 1. FILE *fp = fopen("data.txt","wt"); // 출력 스트림 형성 첫 번째로 소개해드릴 함수는 fopen(); 함수입니다. 이 함수는 "표준 입출력 함수"로서 두 번재 매개변수의 값에 따라서 파일의 출력 또는 입력의..
안녕하세요, IT디자이너입니다. 이번에는 C언어에서 printf 또는 scanf를 제외한 문자 및 문자열 입,출력에 관한 함수를 소개해드리도록 하겠습니다. 기존에 사용하였던 printf와 scanf는 콘솔을 전용 입출력 함수입니다. 만약 여러분이 입력한 문자 또는 문자열을 파일로 출력하거나 저장하기 위해서는 다른 "표준 입출력 함수"를 사용해야 합니다. 1. int getchar() , int fgetc(FILE *stream); 문자입력 getchar() 함수는 문자를 입력받는 함수이며 대상은 콘솔이며 반환형은 int형입니다. 1) getchar() 사용예시 #include int main() { int str; str = getchar(); // 콘솔 입력 printf_s("%c", str); } 2..
안녕하세요, IT디자이너입니다. 구조체의 사용방법이나 구조체의 정의는 여러분들도 다 아시겠지만 한번 더 설명드리자면, "연관있는 데이터를 하나로 묶을 수 있는 자료형"입니다. 사용방법은 간단한 인터넷 검색을 통하여 금방 익히실 수 있으실 겁니다. 그러하여, 이번 포스팅은 C언어의 구조체를 사용하는 방법보다는 구조체의 특징에 관하여 포스팅하도록 하겠습니다. 1. 구조체의 크기는 어떻게 정해질까? 먼저 예제 소스코드로 설명드리도록 하겠습니다. 아래의 소스코드의 구조체 크기는 몇이 나올까요? 1-1 typedef struct data { float a; double b; char c; }Data; int main() { Data a; printf_s("%d", sizeof(a)); } 구조체 특징에 관하여 알..
안녕하세요, IT디자이너입니다. 이번 포스팅은 저번 포스팅에 재귀함수를 활용하여 페인팅하는 프로그램을 재귀함수를 사용하지 않고 구현하도록 하겠습니다. 사실, 모든 재귀함수를 사용하는 로직은 재귀함수를 사용하지 않고 구현할 수 있다고 하여도 과언이 아닙니다. 그래서!! 저번에 구현하였던 재귀함수 코드를 반복문으로 변경하도록 하겠습니다. 사실 이번에는 스택(Stack)이라는 (First In Last Out)형태의 자료구조를 활용하여야 합니다. 먼저 활용할 스택의 소스코드를 설명드리도록 하겠습니다. #include #define MAX_STACK_SIZE 100 // 스택의 사이즈 typedef struct screen { // 스택에 활용할 구조체입니다. int height; int width; }Scre..
안녕하세요, IT디자이너입니다. 이번 포스팅은 switch문의 오해와 진실에 관하여 포스팅하도록 하겠습니다. 여러분들은 조건문을 사용할 때 switch문과 if문중 어떤 것을 주로 사용하시나요? 필자는 대개 if문을 사용하는 개발자를 많이 보았습니다. if문을 주로 사용하시는 분들께 이유를 물어볼 경우 switch문은 보기가 불편하거나 쓰기가 번거롭다 또는 switch문은 성능이 떨어진다는 답변을 듣곤 하였습니다. 하지만 이번 포스팅으로 switch문의 오해에 대하여 확실히 풀어드리도록 하겠습니다. 1. if 문 사용 #include int main() { int num = 4; if (num == 0) printf_s("0을 선택하였습니다."); else if (num == 1) printf_s("1을..
안녕하세요, IT디자이너입니다. 이번에는 열거형의 정의와 의미에 관하여 포스팅하도록 하겠습니다. 열거형은 둘 이상의 연관된 int 타입의 상수형 자료형을 선언하여 프로그램의 가독성을 높이는데 유용한 자료형입니다. enum 의 사용방법을 보여드리도록 하겠습니다. #include enum color { red = 0,blue,white,black }; int main() { printf_s("%d",red); } enum은 구조체 사용방법과 많이 유사합니다. struct를 사용하는 대신 enum을 입력하며, 첫번재 변수부터 마지막 변수까지 +1씩 증가하는 형태입니다. red == 0, blue == 1, white == 2, black ==3 이며, main 함수안의 소스코드를 출력시 0이 출력될 것입니다...
안녕하세요, IT디자이너입니다. 이번에는 재귀함수를 활용하여 간단한 페인트? 프로그램을 구현하였습니다. 보통 포토샵에서 특정 색상을 선택 후 특정 구역을 클릭하면 해당 구역만 색칠되는 기능을 활용해보셨을 것입니다. - 프로그램의 실행 결과 예시 위 사진처럼 '0'으로된 값을 찾아서 '.' 으로 변경하는 코드입니다. 변경된 후 실행 결과 인접해있지 않은 '0'은 '.' 으로 토글되지 않는 모습입니다. ※ 팁 !! 재귀 함수를 이용해서 배열의 가로와 세로를 if문으로 비교 후 '0'이면 토글시키면 됩니다.!! 꼭 혼자 힘으로 시도 후 답을 보셨으면 합니다.!!! . . . . . . . . . . . . . . . . . . . . . . #include #include #include void test(c..
안녕하세요, IT디자이너입니다. 이번 포스팅은 함수 호출 규약에 관하여 설명드리도록 하겠습니다. 소개해드릴 함수 호출 규약은 cdecl,stdcall,fastcall 입니다. 이 함수 호출 규약 말고도 여러가지의 함수 호출 규약이 있지만, 주로 접하게되는 호출 규약으로 설명드리고 나머지 궁금한 호출 규약은 인터넷 검색을 통해 알아보는 것을 권장합니다. 1. 함수 호출 규약의 개요 함수 호출 규약(Calling Convention)이란, 함수를 호출하는 방식에 대한 약속입니다. 종류를 구분하는 방법은 - 인자 전달 순서 ( 왼쪽 인자 -> 오른쪽 인자 or 오른쪽 인자 -> 왼쪽 인자 ) - 인자 전달 방법 ( 스택 or 레지스터 ) - Stack Frame을 정리하는 방법 ( 함수 호출자[caller] ..
- Total
- Today
- Yesterday
- C언어 #C++ #switch #if #어셈블리어 #switch문 사용 이유 #IT디자이너
- C언어 #C++ #캐시hit #캐시라인 #캐시무효화
- C언어 #C++ #어셈블리어 #구조체 #구조체 특징 #IT디자이너
- C언어 #C++ #IT디자이너 #C++ 함수
- C언어 #C++ #삼각함수 #IT디자이너 #문제풀이 #2진수 #16진수 #비트 #bit #비트연산자
- 어셈블리어 #IT디자이너 #C언어 #C++언어 #어셈블리 #어셈블러
- C언어 #C++ #IT디자이너 #함수 #재귀 함수 #스택 #자료구조 #페인팅
- C언어 #C++ #어셈블리어 #IT디자이너 #비트연산자 #연산자 #C언어의 비트 연산자
- C언어 #포인터 #IT디자이너
- Debug #C언어 #C++ #비쥬얼스튜디오 #Release #IT
- C언어 #스트림 #버퍼링 #표준 입출력 함수 #C++언어 #IT디자이너
- C언어 #C++ #시간 함수 #타이밍 맞추기 #timer interrupt #IT디자이너
- C언어 #C++ #파일 입출력 #텍스트파일 #IT디자이너
- C언어 #포인터 #배열 포인터 #포인터 배열 #함수
- C언어 #C++ #구조체 정렬 #pragma #IT디자이너
- IT디자이너 #QuickSort #퀵정렬 #C언어 #C++ #자료구조 #알고리즘
- C언어 #IT디자이너 #C++언어
- C언어 #C++ #IT디자이너
- C언어 #C++ #자료구조 #알고리즘 #IT디자이너 #버블 정렬 #BubbleSort
- C언어 #IT디자이너 #포인터 #배열 #포인터와 배열
- QUEUE #큐 #자료구조 #원형 큐 #Circle Queue #IT디자이너 #큐 과제 #C언어 #C++언어
- IT디자이너 #C언어 #C++ #IT디자이너 #코딩테스트
- C언어 #IT디자이너
- C언어 #C++ #어셈블리어 #함수 호출 규약 #IT디자이너 #비쥬얼 스튜디오 #IT
- 스택 #자료구조 #Stack #IT디자이너 #알고리즘 #C언어 #스택 과제 #C++
- C언어 #C++ #어셈블리어 #재귀함수 #IT디자이너
- 디버그 #Debug #Release #디버그와 릴리즈 차이 #C언어 #C++언어 #어셈블리어
- C언어 #자료구조 #C++ #연결리스트 #리스트 #알고리즘 #IT디자이너
- IT디자이너 #C언어 #C++ #속성지정자 #기억클래스 #IT #const #static #register #volatile #extern #auto #s
- C언어 #C++ #어셈블리어 #열거형 데이터타입 #IT디자이너
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |