일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 골빈해커
- c언어 정리
- TensorFlow
- 파이토치 강의 정리
- C언어 공부
- 영상처리
- 팀프로젝트
- pytorch
- 김성훈 교수님 PyTorch
- c++
- 딥러닝 스터디
- 딥러닝
- 파이토치 김성훈 교수님 강의 정리
- 미디언 필터링
- c언어
- 컴퓨터 비전
- 파이토치
- pytorch zero to all
- matlab 영상처리
- tensorflow 예제
- 모두의 딥러닝
- 딥러닝 공부
- 해리스 코너 검출
- c++공부
- 모두의 딥러닝 예제
- 가우시안 필터링
- object detection
- 케라스 정리
- MFC 프로그래밍
- Pytorch Lecture
- Today
- Total
목록Programming Language/C Programming (20)
ComputerVision Jack
[선행 처리기와 매크로] 선행처리 컴파일 이전에 선행처리 과정이 존재한다. 삽입해 놓은 선행처리 명령대로 소스코드의 일부를 수정한다. (수정 : 단순 치환 의미) 선행 처리 명령문은 #으로 시작한다. 선행 처리기에 의해 처리되는 문장은 끝에 ; 붙이지 않는다. #define문 #define PI 3.1415 인 경우에 #define은 지시자를 지칭한다. 지시자는 매크로를 마지막에 등장하는 매크로 몸체로 치환하라는 의미를 갖는다. PI는 매크로(매크로 상수)에 해당하고 3.1415는 매크로 몸체를 의미한다. 이러한 매크로는 매개 변수가 존재하는 형태로 정의할 수 있다. (함수와 유사한 매크로) #define SQUARE(X) X * X 하지만 사칙연산에 대해 오류가 발생하지 않게 ( ) 를 이용하여 묶어주..
[메모리 구조] 프로그램 실행시, 메모리 공간이 운영체제에 의해서 준비된다. 이 메모리 공간에 변수가 선언되고 문자열이 선언된다. 메모리 구조 코드영역 데이터 영역 힙 영역 스택 영역 코드 영역(Code Area) 실행할 프로그램의 코드가 저장되는 메모리 공간 CPU는 코드 영역에 저장된 명령문을 하나씩 가져와서 실행한다. 데이터 영역(Data Area) 전역 변수와 static으로 선언되는 static변수가 할당된다. 프로그램 종료시까지 존재한다. 스택 영역(Stack Area) 지역 변수와 매개 변수가 할당된다. 함수 탈출시 소멸된다. 힙 영역(Heap Area) 프로그래머가 원하는 시점에 변수를 할당하고 소멸하도록 지원하는 영역 [메모리 동적 할당] 함수가 매번 호출될 떄마다 새롭게 할당되고 함수 ..
[파일 입출력] 파일 스트림 프로그램에서 파일에 접근하기 위하여 프로그램과 파일 사이에 스트림이라는 연결 고리가 있어야한다. 따라서 스트림이 형성되었다는 것은 파일로 부터 데이터를 읽어들일 준비가 완료되었다는 의미이다. fopen함수 스트림을 형성할 때, 호출하는 함수. 프로그램상에서 파일과 스트림을 형성 할 수 있다. #include FILE *fopen(const char *filename, const char mode); 성공하면 파일의 구조체 변수 주소값 반환 실패하면 NULL포인터 반환 fopen 함수가 호출되면 FILE 구조체 변수 생성 생성된 FILE구조체 변수에 파일에 대한 정보 FILE 구조체의 포인터는 파일을 가리키는 지시자 역할 입력 스트림과 출력 스트림 생성 fopen함수의 인자 f..
[구조체 정의 typedef선언] typedef선언 기존에 존재하는 자료형 이름에 새로운 이름을 부여하는 것. typedef로 정의되는 자료형의 이름은 대문자로 시작하는 것이 관례이다. typedef int INT; #기존 int자료형 사용에 대해 INT라고 표기가 가능해진다. 구조체와 typedef struct sample{ int x; int y; }; 기존 구조체 변수 선언 struct sample sp; typedef 구조체 변수 선언 typedef struct sample Sample; typedef struct sample{ int x; int y; } Sample; #처음 구조체를 정의할 때, typedef로 묶어도 된다. [구조체 변수 전달과 반환] 함수의 인자로 구조체 변수가 전달될 수 ..
[구조체] 구조체 하나 이상의 변수를 묶어서 새로운 자료형을 정의하는 도구 구조체 기반으로 새로운 자료 정의 가능. 구조체 이름이 int나 double 처럼 자료형이된다. struct type_name val_name; #구조체 변수 선언의 기본적 형태 struct Sample{ char name[10]; int age; }; #위처럼 구조체를 정의하고, struct Sample sp; 처럼 구조체 변수를 선언한다. sp.age같이 구조체 내부에 접근이 가능하다. 구조체 멤버로 배열이 선언되면 배열의 접근 방식을 취하면 되고, 구조체의 멤버로 포인터 변수가 선언되면 포인터 변수의 접근 방식을 취하면 된다. 구조체 변수 선언 초기화. 구조체 변수 또한 선언과 동시에 초기화가 가능하다. 앞에서 정의한 Sam..
[스트림과 데이터의 이동] 스트림 한 방향으로 흐르는 데이터의 흐름 프로그램을 중심으로 데이터가 들어오는 것이 입력이고 데이터가 나가는 것이 출력이다. 입출력은 데이터의 흐름을 지칭한다. 장치를 통해 연결되는 매체 = 스트림 입력 스트림 출력 스트림 콘솔 입출력 스트림은 자동으로 생성되며, 종료시 자동으로 소멸된다. 표준 스트림(standard stream) stdin : 표준 입력 스트림(키보드) stdout : 표준 출력 스트림(모니터) stderr : 표준 에러 스트림(모니터) [문자 단위 입출력함수] 문자 출력 함수 int putchar(int c); int fputc(int c, FILE * stream); #fputc함수는 문자를 전송하는 스트림을 지정할 수 있다. (파일에 쓸때) 문자 입력 ..
[함수 포인터와 void 포인터] 함수 포인터 메모리상에 저장된 함수의 주소 값을 저장하는 포인터 변수 함수의 이름도 함수가 저장된 메모리 공간의 주소 값을 의미한다. 함수의 포인터 형(type) 반환형과 매개변수의 선언을 통해서 결정된다. 함수 포인터 변수 선언 int (*ptr) (int) : ptr은 포인터 int (*ptr) (int) : 반환형 int인 함수 포인터 int (*ptr) (int) : 매개변수 선언이 int 하나인 함수 포인터 void Simpe (int x1, int x2){ ... } void (*ptr) (int, int) = Simple; ptr(num1, num2); #함수 포인터 실제 사용 형(Type)이 존재하지 않는 void 포인터 void * ptr; #void포인..
[포인터에 대한 포인터] 이중 포인터 포인터 변수를 지칭하는 또 다른 포인터 변수를 뜻한다. = 더블포인터 int **dptr; #*연산자 2개를 사용하여 나타낸다. 포인터 변수를 가리키는 이중 포인터 변수 포인터 변수는 주소값을 저장하는 변수다. 미리 선언된 포인터 변수를 대상으로 이중포인터에 그 주소값을 대입할 수 있다. int *ptr = # int **dptr = &ptr; *dptr = ptr의 주소 값을 의미한다. *(*dptr) = num안의 값을 의미한다. [포인터 배열과 포인터 배열의 포인터형] 배열이 가리키는 첫번째 요소는 싱글 포인터이다. 배열의 이름은 이중 포인터가 된다.