🎈목차
1. 2차원 배열의 선언
2. 2차원 배열의 초기화
3. 간단한 예제 설명
🎆1.2차원 배열의 선언

=>위의 그림과 같이 2차원 배열은 데이터 형 , 배열 명, 행(row)수,열(column)수로 구성되어 있으면 표를 확인해보면 0행~2행, 0열~3열까지로 나타난다. 쉽게 말하자면 마치 1차원 배열이 여러개 있는것이 2차원 배열의 구조임을 확인 할 수 있다.
🎇2. 2차원 배열의 초기화
1. 2차원 숫자 배열을 초기화할 때는 초기화 시작과 끝 괄호({})외에도 각 행의 초기화 시작과 끝 괄호를 넣어준다.이때 행 최화 시작과 끝 괄호는 생략이 가능하다.
ex) int ary[3][4]={1,1,1,1},{2,2,2,2},{3,3,3,3}};
int ary[3][4]={1,1,1,1,2,2,2,2,3,3,3,3}};
int ary[3][4]={{1,1},{2,2,2},{3,3,3,3}};
2. 2차원 문자 배열을 초기화할때에는 문자열의 개수만큼 행 첨자를 지정하고,
열첨자는 초기화 문자열들 중 가장 긴 문자열의 길이에 NULL 문자를 위하여 +1 한 크기로 정한다. 이차원 문자배열 초기화 시에는 배열 초기화 시작과 끝 괄호를 생략할 수 없다.
🧨3. 간단한 예제 설명
#include <stdio.h>
void inputArray(int(*p)[4], int row);
void outputArray(int(*p)[4], int row);
int main()
{
int num[3][4];// 3행 4열의 2차원 배열을 구성
int row;
row = sizeof(num) / sizeof(num[0]); // 행의 개수 구하기
inputArray(num, row);
outputArray(num, row);
getchar();
getchar();
return 0;
}
//---------------------------------------------------
void inputArray(int(*p)[4], int row)
{
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < 4; j++) {
printf("%d행 %d열 방의 값 입력 : ", i, j);
scanf("%d", &p[i][j]);
}
}
return;
}
//---------------------------------------------------
void outputArray(int(*p)[4], int row)
{
int i, j;
for (int i = 0; i < row; i++) {
printf("%d 행 :", i);
for (int j = 0; j < 4; j++) {
printf("%5d ", p[i][j]);
}
printf("\n");
}
return;
}
=>주석에 설명이 포함되어 있음.