➜ 정수형, 실수형, 상수, printf, scanf, 문자열
➜ 반복문 | for, while, do-while, 이중 for문(구구단 예시)
➜ 조건문 | if, else if, else, break, continue, rand(), srand()
➜ 함수(function) | 선언과 정의, 반환값, 파라미터(매개변수)
➜ 배열(Array) | 문자열 초기화, 크기와 메모리, 문자열 함수, sizeof(),
널(null) 문자('\0')
➜ 다차원 배열(Multi-Demetional Arrays)
➜ 포인터(pointer) 개념 완벽이해하기(ft. 미션맨과 스파이의 임무)
➜ 구조체(Struct) | 구조체 포인터, typedef
➜ 자주 쓰이는 '내장함수' 정리 | 파일입출력, 문자열처리, 수학, 포인터
관련 함수
1. 다차원 배열의 개념과 선언
- 다차원 배열은 2차원 이상의 배열로, 배열을 행과 열로 구성하여 데이터를 저장한다.
- C 언어에서는 대괄호([])를 여러 번 사용하여 다차원 배열을 선언할 수 있다.
- 간단히 말하면 '배열의 배열'이라고 할 수 있다.
int arr2[2][5]; // 2행 5열의 2차원 배열
int arr3[3][2][3]; // 3면 2행 3열의 3차원 배열
- 위와 같이 2차원 배열은 행과 열의 크기를 지정하고, 3차원 배열은 면, 행, 열의 크기를 지정하여 선언할 수 있다.
2. 다차원 배열의 초기화
- 다차원 배열도 초기화를 할 수 있다.
- 2차원 배열의 경우 중괄호({}) 안에 초기값을 나열하여 각 요소에 할당할 수 있다.
int arr2[2][5] = {
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5}
};
3차원 배열도 마찬가지로 중괄호({}) 안에 초기값을 나열하여 요소에 할당할 수 있다.
int arr3[3][2][3] = {
{
{3, 2, 3},
{3, 2, 3}
},
{
{3, 2, 3},
{3, 2, 3}
},
{
{3, 2, 3},
{3, 2, 3}
}
};
3. 다차원 배열의 값 출력
- 다차원 배열의 요소에 접근할 때는 인덱스를 사용한다.
- 반복문을 활용하여 다차원 배열의 모든 요소를 출력할 수 있다.
2차원 배열
int arr2[2][5] = {
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5}
};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 5; j++) {
printf("2차원 배열(%d, %d)의 값: %d\n", i, j, arr2[i][j]);
}
}
2차원 배열의 구조의 구성을 살펴보면
ㅁㅁㅁㅁㅁ
ㅁㅁㅁㅁㅁ
[0,0][0,1][0,2][0,3][0,4] ex) arr2[0][2]
[1,0][1,1][1,2][1,3][1,4] ex) arr2[1][4]
3차원 배열
3차원 배열도 중첩된 반복문을 사용하여 모든 요소에 접근할 수 있다.
int arr3[3][2][3] = {
// 배열 초기화 생략
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 3; k++) {
printf("3차원 배열(%d, %d, %d)의 값: %d\n", i, j, k, arr3[i][j][k]);
}
}
}
3차원 배열의 구조를 살펴보면
ㅁㅁㅁ [0,0,0][0,0,1][0,0,2]
ㅁㅁㅁ [0,1,0][0,1,1][0,1,2]
ㅁㅁㅁ [1,0,0][1,0,1][1,0,2]
ㅁㅁㅁ [1,1,0][1,1,1][1,1,2]
ㅁㅁㅁ [2,0,0][2,0,1][2,0,2]
ㅁㅁㅁ [2,1,0][2,1,1][2,1,2]
'C' 카테고리의 다른 글
[C언어] 구조체(Struct) | 구조체 포인터, typedef (0) | 2023.08.18 |
---|---|
[C언어] 포인터(pointer) 개념 완벽이해하기(ft. 미션맨과 스파이의 임무) (0) | 2023.08.11 |
[C언어] 배열(Array) | 문자열 초기화, 크기와 메모리, 문자열 함수, sizeof(), 널(null) 문자('\0') (0) | 2023.08.05 |
[C언어] 함수(function) | 선언과 정의, 반환값, 파라미터(매개변수) (0) | 2023.08.03 |
[C언어] 조건문 | if, else if, else, break, continue, rand(), srand() (0) | 2023.08.02 |