#include // 배열 parameter int sum(int b[4]) {// int b[4] -> int * b로 바꿔도 상관없다. int i, sum = 0; for (int i = 0; i < (sizeof(b) / sizeof(b[0])); i++) { sum += b[i]; } return sum; } void main(void) { int a[4] = {1, 2, 3, 4 }; printf("%d\n", sum(a)); system("pause"); } /* 결과는 10이 나올 것 같다. 하지만 결과는 1이 나온다. 그 이유는 sum(a)에서 a은 포인터로 넘겨졌기 때문이다. 따라서 int b[4] == int * b이며 b의 type은 int *이다. int *은 4byte이기 때문에 ..
#include // 1차원 배열 void main(void) { int a[4] = { 10, 20, 30, 40 }; // 주소는 1000으로 가정 printf("%d\n", a[0]);// 10 printf("%#.8x\n", &a[0]);// 0x1000 printf("%#.8x\n", a);// 0x1000 printf("%d\n", a[0] + 1);// 11 printf("%#.8x\n", a + 1);// 0x1004 printf("%d\n", *a);// 10 printf("%d\n", *(a + 1));// 20 printf("%#.8x\n", &a);// 0x1000 printf("%#.8x\n", *&a);// 0x1000 printf("%#.8x\n", &a + 1);// 0x10..
#include /* Little, Big endian 데이터가 실제 메모리에는 어떻게 저장될까? */ void main(void) { int a = 0x01234567; /* a는 스택영역에 저장될 것이다. int형은 4byte이기 때문에 (주소는 편의상 0x1000 이라고 가정한다.) 주소 - 데이터 1000 - 0x?? (1byte) 1001 - 0x?? (1byte) 1002 - 0x?? (1byte) 1003 - 0x?? (1byte) 위와 같이 저장될 것이다. 참고로 1byte는 8bit이다. 따라서 16진수로 2개(?)를 저장할 수 있다. 0xE3 이렇게.. 4bit는 0~15(F)를 표현할 수 있기 때문에 아무튼 어떻게 저장되는지 출력을 해보자. char type은 1byte이기 때문에 이..
- Total
- Today
- Yesterday
- upsampling
- Filter
- erosion
- mean filter
- dilation
- canny
- high pass filter
- gradient
- Sobel
- hough transform
- black top hat
- 영상처리
- top hat
- difference of gaussian
- morphological operation
- canny operator
- adaptive thresholding
- direction detection
- Low pass filter
- Line Detection
- 캐니 엣지
- pyrDown
- morphology
- segmentation
- laplacian of gaussian
- bilateral filter
- pyrUp
- median filter
- OpenCV
- equalizing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |