일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C언어
- list
- queue
- Visual Micro
- arduino compiler
- set
- 아두이노
- 시스템프로그래밍
- 자료구조
- Arduino
- 수광 소자
- 아두이노 소스
- 운영체제
- Stack
- vector
- map
- 아두이노 컴파일러
- Deque
- c++
- WinAPI
- 컴퓨터 그래픽스
- directx
- priority_queue
- LineTracer
- stl
- Array
- html
- Algorithm
- 통계학
- 라인트레이서
- Today
- Total
목록전체 글 (545)
Kim's Programming
초기식 배열을 선언과 동시에 초기화할 때는 초기값의 개수가 배열 크기와 일치하는 것이 가장 이상적입니다. int ar[5] = {4,8,3,69,-7} ar 배열의 크기가 5이기 떄문에 { }괄호 속에 있는 초기값도 다섯개를 지정하였습니다. 모든 초기식이 다 이렇게 작성이 된다면 문제가 없습니다. 배열의 크기가 작다면 초기값을 다 적는 것이 별로 어렵지 않습니다. 그러나 배열이 엄청나게 크다면 그 초기값을 일일이 나열하기가 귀찮아 지고 타이핑 시간만 엄청나게 길어집니다. int ar[1000] = {1,2,3,4,0,0,0,0,0,.......................................하...} 이번 ar배열은 크기가 1000인데 앞 쪽 네 개만 1,2,3,4,로 초기화를 시키고 나머지 전..
배열의 정의 배열이란 동일한 타입을 가지는 변수들의 유한 집합입니다. 배열을 선언하는 기본 형식은 다음과 같습니다. 일반 변수 선언문과 동일하되 변수명 뒤에 [ ] 괄호(bracket)와 배열 크기 지정문이 온다는 것만 다릅니다. 배열 선언문에 [ ]괄호가 하나 있으면 1차원 두개있으면 2차원이라고 합니다. 뭐 더 있으면 더 높은 차원 배열이라고 할 수 있습니다. type 배열명[크기][크기].....; type은 어떤 타입의 변수들이 모여 있는지를 지정하는데 정수형 변수들의 모임이면 int, 실수형 변수의 모임이면 double이라고 적습니다. 기본형 외에도 포인터, 구조체, 사용자 정의형 등 임의의 타입이 모두 배열을 구성할 수 있습니다. 타입 T가 있으면 T형 배열은 언제나 가능하며 심지어 배열의 배..
노트북을 사고 윈도우8.1이 깔려있었는데 윈도우 10업데이트가 귀찮을 정도로 떠서 함 해봤는데 너무 좋네요. 글자 크기가 8.1가 조금 이질감이 있는건지 크기차이가 있는건지는 모르겠지만 글짜 빼고는 다 괜찮은 거 같습니다!. 아주아주 좋아요 기존에 걱정했던것이 드라이버 문제였는데 드라이버의 경우는 삼성 프로그램으로 별 문제없이 자동 설치 되었습니다. 하지만 발견된 문제사항으론 무선랜카드가 문제가 있는지 업로드 속도가 안나오네요. 공유기-노트북 간의 문제인것 같은데. 어서 삼성에서 업데이트 해줬으면 좋겠습니다.
수학 함수 C컴파일러는 많은 수의 표준 함수들을 제공합니다. 공통적으로 자주 사용되는 기능들을 모든 개발자들이 직접 만들어 쓰게 된다면 시간도 많이 걸리고 사회적인 낭비도 심해 질 것입니다. 물론 직접 만들어서 문제없이 쓸 수는 없지만 직접 만든것은 아무 래도 미리 만든거 보다 안정성 또는 속도도 떨어질 것이고 미리 만든 것보다는 안전성도 떨어질 것입니다. 그래서 컴파일러 제작사들은 자주 사용되는 공통적인 함수들을 미리 만들어서 컴파일러와 함꼐 배포하는데 이를 표준함수라고 하며 표준함수들의 집합을 런타임 라이브러리(CRT)라고 부릅니다. 컴파일러 제작사의 우수한 프로그래머들이 공들여 작성한 것이므로 성능이 뛰어남은 물론이고 오랫동안 다양한 프로젝트에서 테스트되었기 때문에 신뢰도 높습니다. 그래서 우리는 ..
레지스터 변수 레지스터형 변수는 전역변수, 지역변수, 정적변수와는 다른점이 있습니다. 이들은 메모리의 일부를 차지하여 구성이 되지만 레지스터 변수는 CPU의 레지스터에 저장이 됩니다. 레지스터(Register)이란 CPU내부의 부품 중 하나이며 CPU의 임시작업장 정도의 역할을 합니다. 컴퓨터가 작동함에 중심이 되는 CPU의 중간에 있는 부품이기떄문에 메모리 보다도 훨씬 빠릅니다. 보통 내부에 10~20개 정도 밖에 없는 공간이긴 하나 속도가 1/100,000,000(1억)초 정도도 걸리지 않습니다. 그래서 여기에 변수를 할당하게 되면 엄청난 속도로 호출 또한 엄청나게 빨라지게 됩니다. 하지만 예전과는 다르게 속도가 엄청 빨라져서 최근에는 일반적으로 하는것이나 큰 차이는 없다고 합니다. 정적 함수 기억 ..
전역변수와 지역변수 기억 부류(Storage Class)란 변수가 저장되는 위치에 따라서 정해지는 변수의 여러가지 성질을 의미합니다. 변수가 어디에 생성 되는가? 에 따라서 변수의 통용범위와 파괴시기들이 정해지게 됩니다. 기억 부류는 4가지가 있는데 표를 통해 알아보겠습니다. 기억 부류 전역 변수 지역 변수 정적 변수 레지스터 변수 지정자 extern auto static register 저장 장소 정적 데이터 영역 스택 정적 데이터 영역 CPU의 레지스터 선언 위치 함수의 외부 함수의 내부 함수의 내부 함수의 내부 통용 범위 프로그램 전체 함수의 내부 함수의 내부 함수의 내부 파괴 시기 프로그램 종료시 함수 종료시 프로그램 종료시 함수 종료시 초기값 0으로 초기화 초기화 되지 않음 0으로 초기화 초기화..
매크로 함수 매크로함수란 #define 전처리기를 이용하여 함수 흉내는 내는 것 입니다. 인수를 받아들일 수 있고 매크로로 실행 후 결과를 리턴한다는 것을 보면 함수와 비슷하다는 것을 볼 수 있습니다. 매크로 함수가 매크로 상수와 다른점은 함수처럼 인수를 받아 들인다는 것이고 인수 전달을 의미 하기 위해 매크로 이름 다음에 괄호를 이용하여 표기하게 됩니다. 간단한 매크로 함수는 다음과 같습니다. 1 #define twice(u) u+u; cs 인수로 전달된 i를 두번 더함으로 이 값의 2배를 계산하게 됩니다. 예를 들어 twice(4)는 4+4=8로 치환이 되기 떄문에 결과적으로는 8로써 인식을 하게됩니다. #define문이 매크로 상수를 치환하는 방식과 같은 방식으로 매크로 함수도 치환을 하게되는데 인..
전처리기 #include와 같은 명령을 전처리기(PreProcessor)라고 하며 이외에도 여러가지 종류의 전처리기가 있습니다. 우선은 간단한 #define과 #include만 먼져 알아보도록 하겠습니다. (추가로 #ifdef와 #programa도 있기만 나중에 하겠습니다.) 전처리기란 이름에서 볼 수 있듯 "앞서 먼저 처리하는 명령"이란 뜻을 가지고 있습니다. 역할로는 컴파일 전에 소스를 재작성 하는 역할을 합니다. 컴파일러가 소스를 읽기 전에 전처리기가 먼저 실행되어 컴파일하기 좋도록 소스의 모양을 정리하는데 전처리기는 코드는 생성하지 않고 소스를 재구성하는 역할을 합니다. 컴파일 전 단계에서 실행되기 때문에 몇몇 제약이 있는데 전처리문은 반드시 한 행을 모두 차지해야 하며 전처리문 뒤에 C코드를 쓸..