티스토리 뷰
#includeint main() { int a[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} }; // 주소에서 덧셈 연산은 내용을 고려해서 계산된다. printf("%x\n", a); // 1000 printf("%x\n", a[0]); // 1000 , a[0] type : int [4] , 내용 type : int printf("%x\n", a[0] + 1); // 1004 , 4 증가 , a[0] type : int [4] , 내용 : int , 연산 4 증가 printf("%d\n", *a[0]); // 1 printf("%d\n", *(a[0] + 1)); // 2 , a[0][1] 동일 printf("%x\n", *a); // 1000 , *a type : int [4] printf("%x\n", a + 1); // 1010 , 16 증가, a type : int[3][4] , 내용 type : int [4], 연산 16 증가 printf("%x\n", *(a + 1)); // 1010 , 16 증가 printf("%x\n", *a + 1); // 1004 , 4 증가 , *a type : int [4] , 내용 type : int , 연산 4 증가 printf("%d\n", **a); // 1 printf("%x\n", &a + 1); // 1030 , 48 증가 , &a type : int (*) [3][4] , 내용 type : int[3][4] , 연산 48 증가 printf("%x\n", *(&a + 1)); // 1030 , 48 증가 , 주소의 계산은 위와 같고 *을 붙인 값은 1030번지의 int [3][4]형 가리킨다. printf("%x\n", *&a + 1); // 1010 , 16 증가 , a + 1과 동일하다. 내용 type : int [4] , 16 증가 printf("%x\n", *(*&a + 1)); // 1010 , 16 증가 , 주소의 계산은 위와 같고 * 붙인 값은 1010번지의 int [4]형 가리킨다. printf("%x\n", **&a); // 1000 , int[4] 가리킴 printf("%d\n", ***&a); // 1 , int system("pause"); }
주소의 덧셈 연산은 항상 그 변수의 타입이 아닌 내용물의 타입을 바탕으로 계산된다는 점을 유의하자.
또한 * 붙인다고 무조건 데이터에 접근하는 것은 아니다.
printf("%d\n", (*(a + 2))[2]); // a[2][2] , 11
printf("%d\n", *(a + 2)[2]); // 1040번지의 쓰레기 값, a[4] != a[1]
printf("%d\n", (a + 1)[1][3]); // a[2][3] , 12
printf("%d\n", (*(a + 1))[1]); // a[1][1] , 6
'Coding > C' 카테고리의 다른 글
type 분석 연습 (0) | 2018.05.27 |
---|---|
포인터 타입에 따른 메모리 접근.. (0) | 2018.05.26 |
배열을 함수의 인자로 넘기는 경우 주의할 점 (0) | 2018.05.22 |
1차원 배열의 포인터 (0) | 2018.05.22 |
little endian과 big endian (0) | 2018.05.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- segmentation
- Filter
- Low pass filter
- top hat
- high pass filter
- laplacian of gaussian
- upsampling
- adaptive thresholding
- 영상처리
- morphology
- 캐니 엣지
- OpenCV
- gradient
- difference of gaussian
- pyrDown
- equalizing
- erosion
- direction detection
- hough transform
- morphological operation
- Sobel
- bilateral filter
- pyrUp
- canny
- canny operator
- mean filter
- dilation
- median filter
- Line Detection
- black top hat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함