일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- arduino compiler
- 운영체제
- Stack
- Deque
- 컴퓨터 그래픽스
- 수광 소자
- Visual Micro
- 라인트레이서
- C언어
- Arduino
- 시스템프로그래밍
- vector
- WinAPI
- LineTracer
- list
- 아두이노 소스
- Algorithm
- 아두이노 컴파일러
- 아두이노
- set
- queue
- map
- c++
- 통계학
- stl
- directx
- html
- Array
- priority_queue
- Today
- Total
목록Programming/C (28)
Kim's Programming
전처리기 #include와 같은 명령을 전처리기(PreProcessor)라고 하며 이외에도 여러가지 종류의 전처리기가 있습니다. 우선은 간단한 #define과 #include만 먼져 알아보도록 하겠습니다. (추가로 #ifdef와 #programa도 있기만 나중에 하겠습니다.) 전처리기란 이름에서 볼 수 있듯 "앞서 먼저 처리하는 명령"이란 뜻을 가지고 있습니다. 역할로는 컴파일 전에 소스를 재작성 하는 역할을 합니다. 컴파일러가 소스를 읽기 전에 전처리기가 먼저 실행되어 컴파일하기 좋도록 소스의 모양을 정리하는데 전처리기는 코드는 생성하지 않고 소스를 재구성하는 역할을 합니다. 컴파일 전 단계에서 실행되기 때문에 몇몇 제약이 있는데 전처리문은 반드시 한 행을 모두 차지해야 하며 전처리문 뒤에 C코드를 쓸..
헤더 파일 여때까지의 포스팅에서 저는 이렇게 말했습니다. ~~ 헤더에 들어가있는 ~~함수를 ~~~ 라고요. 왜 이렇게 말했을까요? 헤더에 함수가 있기 떄문입니다. 우선 함수의 원형을 알아보겠습니다. 함수의 원형을 알기위해서는 C컴파일러의 컴파일러 방식을 알아야합니다. 프로그래밍 언어는 해석방식에 따라 인터프리터 방식과 컴파일 방식으로 나누어지게되는데 컴파일러 방식이 훨씬 더 성능이 좋기 대부분이 컴파일 방식을 사용합니다. C언어도 물론 컴파일 방식을 사용합니다. 컴파일 방식이란 소스를 읽어서 기계어로 한꺼번에 번역하는 방식인데 번역을 몇번에 나누어 하냐에 따라 1패스, 2패스 등으로 구분을 합니다. 한 번 쭉 읽어서 번역을 다 해 내면 1패스(One Pas)방식이라고 하고 한번 읽어서 컴파일 준비를 한뒤..
C언어를 흔히 함수 위주의 언어라고 하는데 이의 의미를 알아보겠습니다. 프로그램은 함수들로 구성되고 함수들이 순서대로 실행 됨으로써 프로그램이 제 기능을 발휘하게 됩니다. 함수는 프로그램을 구성 하는 단위로 부품과 같은 역할을 합니다. 또한 컴퓨터에서 cpu의 명령에 따라서 다른 기계들이 움직이듯이 프로그래밍에서는 main함수를 기준으로 함수들이 움직이게 됩니다. 이렇게 구성된 프로그래밍은 컴퓨터 처럼 한 부품이 고장나면 오작동을 하듯이 함수 하나가 잘못 작성하게 되면 제대로 동작을 하지 않게 됩니다. C++언어에서는 부품같은 함수의 역할을 하게 됩니다. 함수는 크게 사용자 지정 함수와 표준함수로 나누어지게됩니다. 사용자 지정 함수는 사용자가 직접 만들어서 사용하는 함수이며 표준함수는 C언어와 함께 작성..
7. 비트 연산자 비트 연산자는 생김새는 논리 연산자와 비슷하지만 비트에 대한 연산을 하는 연산자입니다. 비트(bit)란 기억 장치의 최소의 단위로 0 또는 1로 저장되며 비트 8개를 모아 1바이트가 됩니다. 우선 비트 연산자의 종류에 대해서 알아 보겠습니다. 현재는 잘 사용 되지는 않으며 중요한 시스템 소프트웨어나 게임 또는 임베디드 등에 쓰입니다. 비트 연산자 의미 ~ 비트를 반전 시킵니다. & 대응되는 비트가 모두 1일때 1이 됨 | 대응되는 비트가 모두 0일때 0이됨 ^ 두 개의 비트가 달라야 1임 지정된 수 만큼 오른쪽으로 비트들을 이동 ~만 단항 연산자이며 나머지는 모두 두 개를 피연사자로 취하는 이항 연산자 형태입니다. 비트 연산은 정수 수준에서만 의미가 있으며 이때문에 피연산자는 모두 정수..
오늘의 포스팅에서는 연산자에 대해서 알아 보겠습니다. 연산자란 뭐 다들 익히 알고 있듯이 사칙 연산은 기본으로 알고 있음을 봤을 때 연산자가 어떤 역할을 하는 지, 어떤것 인지는 충분히 다들 알 고 있습니다. 우선 연산자의 기능별 종류를 알아 보도록 하겠습니다. 연산자 기능별 종류 연산자 표기 산술 연산자 + - * / % 부호 연산자 + - 대입 연산자 = 복합대입연산자 관계 연산자 == != 증감 연산자 ++ -- 포인터 연산자 * & [] 구조체 연산자 . -> 논리 연산자 || && ! 비트 연산자 | & ~ >> b 좌변이 우변보다 크다 a=b 좌변이 우변보다 크거나 같다. a
지난 포스팅에서 IF문 FOR문을 알아보았고 이번 포스팅에서 나머지를 알아보도록 하겠습니다. 3. while문 while문은 for문과 같은 반복문이기도 하면서 성격이 조금 다르기도 하고 조건을 사용한다는 점에서는 if문 하고 비슷한 점을 가지기도 합니다. while문은 조건에 따라서 그 조건이 참인 동안에만 반복을 실행하게 되는 조건문입니다. 우선 while문의 구조부터 살펴 보겠습니다. while(조건){명령;}의 형태를 띄고 있습니다. 전 포스트에서 for문으로 1부터 100까지 더하는 프로그램을 for문이 아닌 while로 짜보도록 하겠습니다. for문에서는 if문을 넣어서 break;를 넣었었지만 while에서는 그렇게 할 필요가 없습니다. 우선 소스부터 보겠습니다. 1 2 3 4 5 6 7 8..
이번 포스팅에서는 C언어의 제어문에 대해서 알아보겠습니다. C언어에서의 제어문이라 함은 조건문, for문, while문, switch문 그리고 기타 제어문들이 있습니다. for문 부터 차례 차례 알아보도록 하겠습니다. 1. IF문. IF문이란 조건에 따라서 실행을 하르게 하는 알고리즘을 만들 수 있는 문장입니다. 지금까지 작성하였던 포스트에서는 단순하게 소스에 넣은 모든 소스를 읽고 실행 시켰지만 IF문을 이용하면은 다양한 상황을 판단하여 다르게 작동하도록 만들 수 있습니다. 이런 조건문의 경우는 실생활에서도 많은 경우가 있습니다. 중국집에 전화를 걸어서 무엇을 시켜먹을 것인가? 라는 생각을 하면 우리는 짜장면을 선택하거나 짬뽕을 선택하듯이 프로그래밍에도 그런 효과를 줄 수 있습니다. IF문의 구조는 I..
이번 포스팅에서는 scnaf 함수에 대해서 알아보도록 하겠습니다. scanf는 stdio 헤더에 속해있는 함수이며 문자, 숫자, 문자열 등을 입력받을 수 있습니다. 무선 Scanf의 구조부터 알아 보겠습니다. 포맷 스트링의 종류는 이전 포스트에서 보실 수 있습니다. 1 2 scanf("포맷스트링",변수); scanf("포맷 스트링 포맷스트링,",&변수 &변수); cs scanf함수는 printf와 같이 포맷 스트링과 변수 1:1입니다. 우선 간단한 예시로 사용 법을 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 #include int main() { int num_1=0; // 변수입력 printf("num_1에 넣을 값을 입력하세요\n"); scanf("%d",num_1);//scanf를 이용..