본문 바로가기
STUDY/C

[모각코 C언어 메이트 심화편] 이중 포인터 | 행과 열 바꾸기

by 23g 2022. 2. 24.

 

앞부분에 포스팅 밀린 부분이 좀 있고,

뒤에 새로운 부분들은 계속 공부 중인데

(+포스팅 작성 중)

어떡하지?!

뒤에 포스팅을 먼저 올린순 없는데!!

라고 고민 하던 중

일단 앞부분 포스팅을 간략하게 올리기로 결정!!!

 

📌배열의 집합, 2차원 배열

배열 자체를 원소로 갖는 배열

 

✅ 2차원 배열의 선언

자료형 배열이름[행 갯수][열 갯수];

자료형 배열이름[행 갯수][열 갯수] = { 
		{ 값, 값, 값, ... }
		{ 값, 값, 값, ... }
		...
};
 

배열의 크기를 [ ]로, 배열의 값을 { }로 초기화

 

✅ 인덱스

"인덱스"라고 부르는 행,열의 위치를 지정해 배열 요소에 접근할 수 있다.

// 값 수정
배열이름[행인덱스][열인덱스] = 값;

// 배열이 int형일 때, 값 출력
printf("%d", 배열이름[행인덱스][열인덱스]);
 

2차원 배열에선 행의 개수를 자동으로 지정할 수 있다.

( 물론 열의 개수는 꼭 적어줘야 함! )

 

✅ 2차원 배열의 크기

​열의 크기는 " 한 층에 존재하는 모든 방의 수 " " 한 집의 방의 수 "로 나눠서 구함.

col_len = sizeof(arr[0]) / sizeof(arr[0][0]);
 

행의 크기는 어떻게 구할까?

바로 " 아파트 전체 방의 수 " 를 " 한 층의 방의 수 " 로 나눠서 구할 수 있다.

row_len = sizeof(arr) / sizeof(arr[0]);
printf("배열은 %d행, %d열로 구성되어 있습니다.", row_len, col_len);
 

⭐ 정리하기 ⭐

✔ 여러 개의 배열이 필요하면 2차원 배열을 사용하자!

✔ 배열의 값을 수정하고 싶으면? 인덱스 사용!

✔ sizeof( ) 함수를 이용해서 행의 크기 혹은 열의 크기를 구할 수 있다!