2차원 배열의 표현-(개념설명)

채재헌·2022년 7월 12일
0

🎈목차

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;
}

=>주석에 설명이 포함되어 있음.

0개의 댓글