일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 아두이노
- set
- arduino compiler
- Algorithm
- 자료구조
- 컴퓨터 그래픽스
- c++
- Stack
- 수광 소자
- priority_queue
- directx
- Arduino
- 아두이노 소스
- WinAPI
- vector
- 운영체제
- stl
- html
- C언어
- 통계학
- map
- LineTracer
- Array
- 라인트레이서
- list
- 시스템프로그래밍
- queue
- 아두이노 컴파일러
- Visual Micro
- Deque
- Today
- Total
목록전체 글 (545)
Kim's Programming
구구단을 세로로 포인터, 배열, 구조체, 클래스를 이용하여 출력하는데 조금더 객체지향적으로 작성한 소스입니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133#define _CRT_SECURE_NO_WARNINGS#include#inclu..
파일 정보의 저장 파일은 디스크에 정보가 저장되는 단위이며 고유의 이름을 가집니다. 파일에는 프로그램이 작성한 정보가 저장이 되는데 워드 프로세서는 문서 파일을 만들고 그래픽 프로그램은 그림을 만드며 컴파일러는 소스파일을 만듭니다. 프로그램이 실행 중에 파일을 엑세스하는 경우가 많은데 이번에는 디스크에 있는 파일을 읽거나 쓰고 관리하는 방법을 알아보겠습니다. 프로그램은 실행에 필요한 코드는 가지지만 모든 데이터를 가지지는 않습니다. 실행 파일의 크기에는 제약이 있기 떄문에 모든 정보를 다 가질 수 없으며 그래서 큰 정보는 외부의 파일에 두고 실행중에 읽어서 사용하는 방법을 씁니다. 또한 프로그램이 작업결과를 영구적으로 저장하기 위해서도 파일을 사용합니다. 편집하던 문서나 작성중인 프로그램 소스 등도 파일..
이번 소스는 C의 구조체 , 배열, 포인터 그리고 C++의 클래스를 사용하여 구구단을 출력하는 예제입니다. 참고하실분은 참고하셔도 좋습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129#define _CRT_SECURE_NO_WARNINGS#include#..
가변 인수 함수의 활용 가변 인수 함수는 한 번 호출로 여러 개의 정보를 다양한 방법으로 다룰 수 있다는 면에서 편리합니다. 특히 printf 함수는 다양한 타입의 변수들을 한꺼번에 출력할 수 있어 변수값을 확인해 볼때 아주 유용합니다. 이런 함수를 직접 만드려면 독자적으로 서식을 정의하고 서식 문자열과 대응되는 가변 인수를 직접 읽는 복잡한 루틴을 만들어야 하는데 다행히 이런 일을 대신해 주는 함수들을 준비되어 있습니다. 대표적으로 다음 두 함수만 보겠습니다.12int vprintf(const char * _Format, va_list argptr);int vsprintf(char *buffer, const char *format, va_list argptr); cs이 외에 vscanf, vssanf등..
가변 인수 함수의 조건 가변 인수 함수는 인수의 개수와 타입에 대한 제약이 없지만 그렇다고 해서 아무 인수나 마음대로 전달할 수 있는 것은 아닙니다. 가변 인수 함수에도 지켜야 할 규칙들이 있는데 이 규칙에 대해서 알아 보겠습니다. 가변 인수 함수는 반드시 하나 이상의 고정인수를 가져야 합니다. 첫 번째 인수부터 가변 인수일 수도 없는데 왜냐하면 가변 인수를 읽기 위한 포인터 ap를 초기화하기 위해서 마지막 고정 인수의 번지를 알아야 하기 떄문입니다. _crt_va_start 매크로는 마지막 고정 인수의 번지에 길이를 더해 가변 인수가 시작되는 번지를 계산하는데 고정인수가 없으면 이 매크로가 동작하지 않습니다. GetSum 함수는 인수의 개수를 전달하는 num 고정인수를 가지며 printf 함수도 서식 ..
함수 포인터 함수 포인터의 정의 함수포인터(Pointer To Function)란 함수를 가리키는 포인터를 말합니다. 포인터란 본래 메모리상의 번지를 저장하는 변수인데 함수도 메모리에 존재하며 시작 번지가 있으므로 포인터 변수로 가리킬 수 있습니다. 일반적인 포인터는 변수가 저장되어 있는 번지를 가리키지만 함수 포인터는 함수의 시작 번지를 가리킨다는 점에서 다릅니다. 함수 포인터와 구분하기 위해서는 변수를 가리키는 일반적인 포인터를 특별히 데이터 포인트라고 부르기도 합니다. 정수형을 가리키는 int *pi는 정수형 변수의 번지를 가지며 실수형을 가지는 double *pd는 실수형 변수의 번지를 가집니다. 데이터 포인터는 단순히 가리키는 대상체의 타입만 밝히면 되므로 선언 형식이 간단합니다. 반면 함수 포..
::레퍼런스 멤버 초기화 레퍼런스는 변수에 대한 별명이며 선언할 때 반드시 누구에 대한 별명인지를 밝혀야 합니다.단 예외적으로 함수의 형식 인수, 클래스의 멤버, extern 선언시는 대상체를 지정하지 않을 수 있는데 이때는 함수 호출시나 객체 생성시로 초기화가 연기됩니다. 레퍼런스 멤버를 가지는 클래스는 생성자에서 이 멤버를 초기화해야 하는데 다음 예제처럼 초기화 리스트를 사용합니다.1234567891011121314151617181920#define _CRT_SECURE_NO_WARNINGS#include#includeusing namespace std;class Some{public: int &ri; Some(int &i) :ri(i){} void OutValue() { cout
Const 상수의 정의 키워드 const는 값을 변경할 수 없는 상수를 정의합니다. 기본형태는 다음과 같습니다. const 타입 변수명 = 초기값; 변수를 선언하는 일반적인 문장과 비슷하되 앞에 const를 붙이고 뒤에 반드시 초기갑슬 적어야 한다는 점만 다릅니다. 다음 소스에서 보겠습니다.12345678910#include const int HourPerDay = 24;const int MinPerHour = 60;const int SecPerMin = 60; void main(){ printf("하루는 %d초 입니다. \n", HourPerDay*MinPerDay*SecPerDay);}Colored by Color Scriptercs하루는 24시간이고 한시간은 60분 1분은 60초 라고 정의 했습니다..