[C] 다차원 배열
2022. 12. 2. 19:22ㆍC언어/기본 개념
728x90
기본적으로 흔히 알고 있는 배열은 1차원 배열이다.
하지만 여러 사람의 성적을 작성을 하고 싶은 경우 즉 형태가 같은 배열이 여러개 필요 할 때는 2차원 배열을 사용하면 편하다.
int score[3][4]; [3]은 행, [4]는 열이라고 생각하면 된다. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <stdio.h>
int main(void)
{
int score[3][4]; //3사람의 4개 점수
int total;
double avg;
int i, j;
for (i = 0; i < 3; i++) //3번 반복(한 사람씩)
{
printf("4과목 점수 입력 : ");
for (j = 0; j < 4; j++) // 4과목의 점수 입력
{
scanf("%d", &score[i][j]);
}
}
for (i = 0; i < 3; i++)
{
total = 0;
for (j = 0; j < 4; j++)
{
total += score[i][j];
}
avg = total / 4.0;
printf("총점 : %d, 평균 : %.2lf\n", total, avg);
}
return 0;
}
|
cs |
2차원 배열 초기화
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <stdio.h>
int main(void)
{
int num[3][4] = {
{1, 2, 3, 4,},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%5d", num[i][j]);
}
printf("\n");
}
return 0;
}
|
cs |
5행 int num[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} } 하고 같은 문장이다.
15행은 num[0] 배열에 num[0][0], num[0][1], num[0][2], num[0][3] 반복해주고
13행은 15행 반복문 코드가 4번 실행을 마칠 때마다 num[0][0], num[1][0], num[2][0] 배열명을 증가시켜준다.
2차원 char배열
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <stdio.h>
int main(void)
{
char fruit[5][20];
int i;
int count;
count = sizeof(fruit) / sizeof(fruit[0]);
for (i = 0; i < count < 3; i++)
{
scanf("%s", fruit[i]);
}
for (i = 0; i < count; i++)
{
printf("%s", fruit[i]);
}
return 0;
}
|
cs |
728x90
'C언어 > 기본 개념' 카테고리의 다른 글
함수 포인터와 void 포인터 (0) | 2023.02.07 |
---|---|
이중포인터, 배열 포인터 (0) | 2022.12.26 |
[C] 변수 영역 (0) | 2022.12.01 |
[C] 문자열 (0) | 2022.11.28 |
[C] 문자 (0) | 2022.11.25 |