2차원 배열 기본형태
배열은 기본적으로 n차원까지 가능하다. 보통은 너무 복잡해서 3차원도 잘 안쓴다.
int iArr2D[Y][X] = {1,2,3,4,5,6}; |
Y는 행을 X는 열을 나타낸다.
int iArr[2][3]; --> 3칸짜리 배열이 2개 즉, iArr[3]이 2개 (2행3열)
바깥이 행에 접근한다.
맨 아래의 그림을 참고하면 이해하기 쉽다.
3차원 배열 기본형태
배열의 초기화
아래 그림처럼 2가지 방법으로 초기화가 가능하다.
이중 for문을 사용하여 초기화 진행
2차원 배열의 포인터
1차원 배열포인터
int* ptr = iArr2D |
2차원 배열포인터
자료형(*변수명)[열의 크기] int(*ptr2D)[3] = iArr2D; |
더보기
2차원배열의 원소는 1차원 배열을 뜻한다.
따라서 2차원배열에서 역참조를 하면 그 값을 저장하는게 아닌 1차원배열의 주소를 가지고잇다.
절대 2차원배열에 역참조 를 해서 값을 건드리는게 아니다.
즉, *(iArr2d + 1) 은 주솟값이라는 얘기다. (iArr2d 가 2차원 배열일 경우)
2차원 배열 포인터 는 열의 크기를 꼭 써야한다.
<배열에서 5라는 요솟값을 가리키는 5가지 방법>
2차원 배열의 크기
차례대로
2차원 배열의 전체크기는 24
2차원 배열의 0행의 크기는 12
2차원 배열의 0행0열 의 첫 요소의 크기는 4
헷갈림 주의
[그림참조]http://tcpschool.com/c/c_pointerArray_arrayPointer
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'프로그래밍 > C++' 카테고리의 다른 글
[c++]이중포인터 (0) | 2021.10.04 |
---|---|
[c++] 구조체, 구조체 배열, 구조체 포인터, 패딩바이트, typedef (0) | 2021.09.30 |
[C++] 1차원 배열, 배열 포인터, 배열 초기화, 배열 매개변수 (0) | 2021.09.24 |
[C++]포인터 기본 개념2 (0) | 2021.09.24 |
[C++]포인터 기본 개념 (0) | 2021.09.24 |