일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 무게선별자동화
- 조건 제어문
- Patch Cleaner
- Gain
- 저조도
- Depth of Fileld
- 아이리스
- AppInventer
- Zoom Lense
- 심도
- 카메라
- 이미지센서
- 렌즈
- 프로그래머스 lv2
- 저장소와 동적메모리
- 변수의 초기화와 대입
- Digital Slow Shutter
- 과초점거리
- CS Mount
- 변수
- C Mount
- main 함수 인자 전달
- 고정비트레이트
- c언어
- 간단한 앱만들어보기
- image sensor
- ASCCII
- Pixel Bit Format
- 실생활알고리즘
- camera
- Today
- Total
목록c언어 (27)
카메라 개발자 공부방(SW)
오늘은 포인터에 이어서 배열에 대해 공부하겠습니다. (배열과 포인터는 아주 밀접한 관계가 있기 때문에 포인터와 마찬가지로 집중해서 공부해야 될 부분입니다.) 자 그러면 배열은 무엇일까요? 배열은 연속된 메모리 공간을 의미하고, 선언해야 될 변수의 개수가 많을 때 사용됩니다. 선언해야 될 변수의 개수가 많은데, 변수를 일일이 선언하게 된다면 반복되는 코드가 많이 늘어나고 코드 관리가 어렵게 됩니다. (코드는 가독성이 생명입니다.) 그래서 배열이 필요한 것입니다. 배열은 아래와 같이 선언할 수 있습니다. dataType arrayName[size]; // example int arr[5] = {}; arr이란 이름의 배열의 선언 됐고 data type은 int이며 5가개 선언됐다는 뜻입니다. #include..
자 오늘은 대망의 포인터 변수를 시작할 차례입니다. 오늘 하는 내용이 어렵게 느껴진다면 [9장] 변수와 주소를 꼭 복습해주세요. 포인터 변수는 주소를 저장하는 메모리 공간입니다. 포인터 변수도 변수기 때문에 메모리 공간(값)이 변경될 수 있고, 그 메모리에 접근할 수 있는 이름도 가지고 있습니다. 다음 코드를 보시죠 #include int main() { int n = 10; int* pn = &n; printf("%d %p %p\n", 10, &n, pn); return 0; } // 실행결과 // 10 008FF91C 008FF91C n이라는 메모리 공간의 시작 주소가 pn이라는 메모리 공간에 저장이 된 것입니다. 이때 포인터 변수 pn은 n이라는 메모리 공간을 가리킨다 라고 이야기할 수 있습니다. ..
오늘은 사용자 함수에 대해 공부해보겠습니다. 지금까진 우리는 main이라는 함수의 내용(구현부)을 채워가며 실습을 해봤습니다. C언어에서 함수의 비중이 큰 만큼 명칭 하나하나 자세히 보겠습니다. returnType functionName(parameter) { /* your code */ return value; } 반환(return)이란 이 함수가 종료될 때 계산된 결과값을 다시 돌려준다는 의미입니다.(정확히는 함수를 호출했던 지점에 함수의 결과 값을 되돌려줍니다.) 반환이 있다면 반환 타입(returnType)과 return에 어떤 값을 반환할지 명시해야 합니다. 반환 타입이 없다면 반환 타입이 없다는 뜻으로 void로 선언하면 됩니다. 그리고 return도 없습니다. 함수의 이름(functionNa..
자 오늘은 변수의 초기화와 대입에 대해서 공부를 해보겠습니다. 초기화와 대입에는 큰 차이가 있는데요. 초기화는 메모리 공간이 만들어진 시점에 단 한번 값을 저장을 합니다. 대입은 메모리 공간이 만들어진 시점 이후에 메모리의 값을 변경시키는 연산입니다. 초기화는 단 한 번만 발생되고, 대입은 무한히 발생할 수 있습니다. 그런데 초기화를 하지 않으면, 메모리 안에는 어떤 값이 들어있을까요? 바로 쓰레기 값이 들어있답니다. #include int main() { int val; printf("val: %d\n", val); return 0; } // 실행결과 // 쓰레기값 출력 이 쓰레기 값은 runtime에 runtime error를 발생시킬 수 있습니다. 컴파일 에러는 작성한 코드가 컴파일 과정에 문제가 ..
자료형은 메모리를 어떤 용도로 얼만큼의 메모리 사용할지 관한 것으로 C언어에 미리 다 약속이 되어있답니다. 다음은 반드시 외워야 될 자료형입니다! Data Type 부호 사용 용도 크기 표현 가능 범위 char 문자 1byte 0 ~ 255 short 있음(signed) 정수 2byte -32,768 - 32767 int 있음(signed) 정수 4byte -2,147,483,648 ~ 2,147,483,647 long 있음(signed) 정수 4byte -2,147,483,648 ~ 2,147,483,647 long long 있음(signed) 정수 최소 8byte 2^63 ~ 2^63 -1 float 소수점 4byte 대략 10^-38 ~ 10^ 38 double 소수점 8byte 대략 10^-308..
자 오늘은 반복문에 대해서 이야기해보겠습니다. 반복문은 동일한 코드를 여러번 작성해야 할 때 유용하게 사용할 수 있는 기능입니다. C에선 for와 while을 제공합니다. for문의 사용법을 보겠습니다~!. for (초기값;조건문;증감문) { /* your code */ } 초기값은 변수가 들어가서 "몇 부터 시작할지"에 대한 초기 값 설정을 하는 곳입니다. 조건문은 for 문의 탈출 조건에 해당되며, 조건이 false일 때 까지 아래의 { } 를 반복해서 수행합니다. 증감문은 초기값에 설정된 변수에 가산 혹은 감산을 위해 사용됩니다. 다음은 while문의 사용법을 보겠습니다~! 초기값 while (조건문) { /* your code */ 증감문 } for문과 기능적으로 완전히 동일하지만, 쓰이는 모양이..