디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

그러니까 다차원 배열은..

돼지가뿔났다갤로그로 이동합니다. 2009.07.19 14:23:11
조회 121 추천 0 댓글 5




int a[2][4] = {1, 2, 3, 4, 5, 6, 7, 8}; 이라고 선언이 되었을 때
그림처럼 된다고 보면 됨.

여기서 a는 전체 배열의 이름이자 a[0] 배열의 첫 요소의 주소이기도 해.

여기서 만약 %x로 a와 *a를 찍으면 같은 값이 나와. 왜냐하면 그림에서처럼 커버하는 영역의 크기만 다를 뿐 둘 다 a[0][0]의 주소를 값으로 갖고 있기 때문이야.

만약 a와 *a를 sizeof 연산자로 찍어보면 32, 16이 나올거야. 그러니까 a라는 놈은 32 byte짜리 전체 배열을 가리키고 *a라는 놈은 16 byte짜리 내부 배열을 가리킨다는 거지.

근데 이게 또 printf에서 찍어보면 다르다능. 가령 a + 1이랑 (*a + 1)을 하면 얘기가 달라진다는 거지. a + 1을 하면 a가 전체 배열이라고 했으니까 32 byte를 건너뛰어야 할 것 같은데 그렇게 안 되고 16 byte만 건너뛴다능. 이 때는 a가 전체 배열의 이름으로 쓰인 게 아니라 배열의 첫 요소의 주소로 쓰인 거라능. 그러니까 다음 배열, 즉 a[1]의 주소가 되는 거라능. 그리고 (*a + 1)을 하면 내부 배열의 첫 요소의 주소를 담는 놈이기 때문에 내부 배열의 요소 하나의 크기, 즉 int 크기만큼 건너뛰어서 4 byte를 건너뛰게 된다능.

그러니까 알아둬야할 것은, sizeof로 찍을 때와 printf 같은 걸로 찍을 때 똑같이 a를 쓰더라도 넘어가는 내용이 다르다는 거임. 같은 이름이지만 의미가 다르게 쓰인다는 걸 기억하고 이해해야 함.


마지막으로 a의 데이터 타입은 int (*)[4] 타입이 됨. 이것은 4개 짜리 int 배열을 가리키는 배열 포인터가 되기 때문에 배열의 첫 요소를 가리키는 a의 의미와 일치하게 되는거임. *a의 데이터 타입은 int * 타입임. 그러니까 위에서 *a가 내부 배열의 요소 하나를 가리킨다고 했으니까 int *의 자료형인 것과 일치하는 거임.


말로 쓸래니까 좆나 어려운 것 같은데 쉽다능.

그러니까 배열 이름이 항상 배열의 시작주소는 아니라는 것만 알아두고 몇 번 그림 그려서 뭘 가리키는지 이름들이 뭘 나타내는지 연습해보면 금방 알 수 있다능.

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 논란보다 더 욕 많이 먹어서 억울할 것 같은 스타는? 운영자 24/09/23 - -
공지 프로그래밍 갤러리 이용 안내 [73] 운영자 20.09.28 38046 62
2753493 스타트업에서 일하면서 좀 짜증나는 부분 프갤러(122.44) 10:17 8 0
2753492 각 언어별 어떤 느낌이냐 아스카영원히사랑해갤로그로 이동합니다. 10:13 9 0
2753491 멍유 이새키야 정처기가 가스라이팅이라고? [3] 딱지(118.221) 09:57 19 0
2753490 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09:33 11 0
2753489 본인 외모랑 스펙 열거해봄 [2] 몌쿠이로갤로그로 이동합니다. 09:09 33 0
2753488 완연한 가을이군 ㅇㅅㅇ [3] 아스카영원히사랑해갤로그로 이동합니다. 08:54 22 0
2753486 아침부터 내가 듣는 노래인데 어때? 몌쿠이로갤로그로 이동합니다. 07:30 14 0
2753484 리죄명 전과4범 범죄자님! 대장동은 누구껍니까? ♥다이어트1일차냥덩♥갤로그로 이동합니다. 06:46 36 0
2753483 재명세 폐지 집회 근황 ♥다이어트1일차냥덩♥갤로그로 이동합니다. 06:45 26 1
2753482 날씨 역급발진 미츄엇냐고~!~!~!~! [4] ♥다이어트1일차냥덩♥갤로그로 이동합니다. 05:58 47 0
2753481 나 공무원인데 개발자 하고싶음 ㅇㅅㅇ [2] ㅇㅇ(125.177) 05:56 53 0
2753480 진지하게 내가 저능아,경지인지 확인하는 법 없음? [4] 김도연24갤로그로 이동합니다. 05:39 46 0
2753479 여기 애새끼들은 왜 하나같이 지능 지랄하는 놈들이 많을까. [4] ㅆㅇㅆ(124.216) 05:32 61 1
2753478 감옥에cctv설치해놓고하루종일감시하고싶어ㅇㅅㅇ 따당이갤로그로 이동합니다. 05:20 43 0
2753477 그게나따당이님의사명임과동시에스카이넷후계자의역할이다 ㅇㅅㅇ 따당이갤로그로 이동합니다. 05:19 38 0
2753476 인간보다뛰어난agi를만들어서인류를정복할거임ㅇㅅㅇ 따당이갤로그로 이동합니다. 05:19 36 0
2753475 아, 진짜 지금 내 코드 구조가 잘못된건가 [1] ㅆㅇㅆ(124.216) 05:16 44 0
2753474 꿈 vs 현실 뭘 선택해야하냐... [3] ㅇㅇ갤로그로 이동합니다. 05:14 46 0
2753473 아니 공무원수의대 계획이 ㄹㅇ 별로냐?? [1] ㅇㅇ갤로그로 이동합니다. 04:48 22 0
2753472 나는 내가 수학에 재능이 있는 줄 알았다. [2] 프갤러(211.234) 04:46 38 0
2753469 파이썬 공부중인데 문법 공부 처음부터 다 독파해야됨? [1] ㅇㅇ(125.248) 04:21 21 0
2753463 How Diablo was completely Reverse Engine 발명도둑잡기갤로그로 이동합니다. 03:31 23 0
2753460 Doom 3 on the Original Xbox is an incred 발명도둑잡기갤로그로 이동합니다. 03:09 16 0
2753457 납땜 초짜용 꿀팁 몇개 알려줌 - 납땜 잘 안되는 이유 [1] 프갤러(14.42) 03:02 39 0
2753455 The Story of Quake on the Game Boy Advan [2] 발명도둑잡기갤로그로 이동합니다. 02:58 25 0
2753454 집에선 원래 공부 ㅈㄴ 안 되냐?? ㅇㅇ갤로그로 이동합니다. 02:53 24 0
2753453 Tomb Raider on the Nintendo Game Boy Adv 발명도둑잡기갤로그로 이동합니다. 02:39 16 0
2753452 Quake II on the PlayStation 1 is an incr 발명도둑잡기갤로그로 이동합니다. 02:36 14 0
2753451 1억개 넘는 데이터 DB 조회할때는 어떻게함? [2] 프갤러(223.38) 02:33 61 0
2753446 How the Sony Playstation Portable PSP Se 발명도둑잡기갤로그로 이동합니다. 02:12 18 0
2753445 그래픽스 취업 질문 [1] ㅇㅇ(219.255) 02:04 38 0
2753444 리눅스 휴대용 레트로 게임기의 원조, 국산 GP2X 발명도둑잡기갤로그로 이동합니다. 01:55 24 0
2753443 추워 ㅇㅅㅇ 나트륨찡갤로그로 이동합니다. 01:42 28 0
2753441 푸루린 누구야? ㅇㅅㅇ?????????? 나트륨찡갤로그로 이동합니다. 01:36 32 0
2753438 나님은 초고수얌 초코수염 ㅇㅅㅇ [2] 나트륨찡갤로그로 이동합니다. 01:26 39 0
2753436 나츠아륨은 초고딩이럄 ㅇㅅㅇ 나트륨찡갤로그로 이동합니다. 01:23 28 0
2753435 미래의 어느 역사학자들의 대화라는데 (요약편) 프갤러(121.129) 01:22 39 0
2753433 미래의 어느 역사학자들의 대화라는데 [1] 프갤러(121.129) 01:19 33 0
2753429 환가로운 푸갤의 나츠륨 동장이얌 ㅇㅅㅇ [8] 나트륨찡갤로그로 이동합니다. 01:03 36 0
2753428 어도비 대체 앱 발명도둑잡기갤로그로 이동합니다. 00:55 62 1
2753427 ‘어도비 이제 안 쓰려고요', 이용자들 떠나는 이유 발명도둑잡기갤로그로 이동합니다. 00:49 43 1
2753426 We hacked Rabbit R1 and found THIS 발명도둑잡기갤로그로 이동합니다. 00:47 19 0
2753425 디카페인 보다는 가짜커피가 어울리지않냐? [4] 헬마스터갤로그로 이동합니다. 00:39 40 0
2753424 개발일은 좋은데 공부는 벅차다 [6] ㅇㅇ(175.197) 00:37 71 0
2753423 DBA나 아키텍트들은 하루노동시간의대부분을 어따씀? [1] ㅇㅇ(1.236) 00:33 59 0
2753422 g0nny (거니) - 하루에 한번씩 (Once a Day) 발명도둑잡기갤로그로 이동합니다. 00:32 20 0
2753421 우즈베키스탄 7살 지휘자 발명도둑잡기갤로그로 이동합니다. 00:31 25 0
2753420 모차르트, 233년만에 신곡 발표…7살에 만든 현악 트리오 발견 발명도둑잡기갤로그로 이동합니다. 00:30 21 0
2753419 자바로 안드로이드 3d 게임 만들려면 ㅇㅇ갤로그로 이동합니다. 00:27 26 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2