다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

c언어 기초 프로그래밍 2차원 배열 이름이 가리키는 것들

C언어 알고리즘 2015. 9. 16. 16:17


c언어 기초 프로그래밍 2차원 배열 이름이 가리키는 것들


 C언어의 2차원 배열 이름에 관한 이야기를 좀 해볼까 한다. 그전에 간단하게 1차원 배열 이름에 대해서 정리하고 넘어가 보자. 1차원 배열의 이름이 가리키는 것은 첫 번째 요소이며 이는 포인터와 같은 역할을 한다. 그리고 이 배열을 인자로 전달할 때 호출되는 함수에서는 포인터 변수로 받아서 배열에 접근해야 한다. 

 

int aaa[3]; 


▲ 여기서 aaa 이름이 의미하는 것은 aaa[0]의 주소 값이다. 다시 말해 aaa와 aaa[0]은 같다. 하지만 2차원 배열은 그렇지가 않은데 그 과정을 정리해볼까 한다.그렇다면 2차원 배열의 이름이 가리키는 것은 무엇일까? 이도 마찬가지로 첫 번째 요소 [0][0]을 가리키는 것은 동일하다. 먼저 이 부분부터 확인해본다.

▲ 예제처럼 aaa가 가리키고 있는 주소와 aaa[0][0]의 주소가 같다. 그런데 1차원 차이점이 있는데 다음과 같은 표현이 가능하다. aaa[0], aaa[1], aaa[2] 열에 해당하는 인덱스를 입력하지 않고 첫 번째 인덱스만 입력하면 각 행의 첫 번째 요소를 가리키게 된다. 예제를 안보면 이해하기 어려운 부분이다. 예제에서 확인해보자.

 


▲ 앞에서 정리한 대로 인덱스를 하나만 입력하면 각 행의 첫 번째 자리를 가리킨다는 걸 확인할 수 있다. 하지만 이것들의 크기를 구하기 위해서 sizeof() 연산을 해보면 좀 다른 결과가 나오는데 예제부터 보고 결론을 정리한다.


▲ 배열 이름으로 크기를 구하면 전체 (int형 6개) 크기를 구하게 되고 첫 번째 행만 가리키는 경우에는 해당 행 전체의 크기를 반환하게 된다. 


 결론을 내리자면 2차원 배열 이름이 가리키는 것은 첫 번째 요소 [0][0] 이면서 배열 전체를 의미한다. 그리고 aaa[0]에서 알 수 있듯이 이는 첫 번째 행만을 의미한다. 그렇기 때문에 aaa와 aaa[0]은 서로 다르다는게 1차원 배열과의 차이점이다. 

저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바