본문 바로가기
코딩/C언어

C언어 배열(array)

by zz! 2024. 5. 6.
728x90

 

목차

1. C언어 배열

2. 배열 선언

3. 1차원 배열

4. 2차원 배열

 

1. C언어 배열

- C언어에서 배열은 동일한 데이터 타입의 변수들을 연속적으로 저장할 수 있는 데이터 구조입니다.

- 배열은 인덱스를 사용하여 각 요소에 접근할 수 있으며, 인덱스는 0부터 시작합니다.

- 배열은 다양한 프로그래밍 작업에 활용되고, 특히 반복적인 작업을 수행할 때 유용합니다.

 

2. 배열 선언

배열의 형식은 다음과 같습니다.

자료형 변수명[개수];

자료형 : 배열에 저장할 자료의 형을 지정합니다.

변수명 : 사용할 배열의 이름입니다.

개수 : 배열의 크기를 지정하는 것입니다. 

ex) "int" 형 요소 5개로 이루어진 배열은 다음과 같이 선언할 수 있습니다.

요소 : 배열 안에 포함된 각각의 데이터 값을 가리킵니다. 

배열의 인덱스는 0부터 시작하므로 요소가 0,1,2,3,4 입니다.

int numbers[5];

ex) 배열 선언과 동시에 값을 할당할 수 있습니다.

int numbers[5] = {1, 2, 3, 4, 5};

 

3. 1차원 배열

1차원 배열은 동일한 자료형의 요소가 일렬로 연속적으로 저장된 데이터 구조입니다.

ex) 1차원 배열을 사용하여 정수 5개를 입력받고 출력하는 예시 코드입니다.

#include <stdio.h>

int main()
{
	// 정수형 1차원 배열 선언 
	int numbers[5];
	
	// 사용자로부터 정수 입력 받기
	printf("정수 5개를 입력하세요:\n");
	for (int i = 0; i < 5; i++)
	{
		printf("정수 %d: ", i);
		scanf("%d", &numbers[i]);	
	}
	
	// 배열에 저장된 정수 출력 
	printf("입력한 정수들:\n");
	for (int i = 0; i < 5; i++)
	{
		printf("%d\n", numbers[i]);
	} 
	
	return 0;
}

사용자로부터 5개의 정수를 입력받아 배열에 저장한 후, 다시 배열에 저장된 정수들을 출력합니다. 배열의 인덱스를 활용하여 각 요소에 접근하여 데이터를 처리합니다.

 

4. 2차원 배열

2차원 배열은 배열의 배열로, 각 요소가 배열인 배열입니다. 일반적으로는 행(row)와 열(column)의 개념을 사용하여 이해합니다. 각 행은 배열의 한 요소이고, 각 열은 해당 요소의 원소들을 나타냅니다. 이러한 구조는 행렬(matrix)을 표현하는데 자주 사용됩니다.

ex) 3행 4열의 정수형 2차원 배열은 다음과 같이 작성할 수 있습니다.

int matrix[3][4];

다음은, 2차원 배열을 초기화하고 출력하는 예시 코드입니다.

#include <stdio.h>

int main()
{
	// 3행 4열의 2차원 배열 선언 
	int matrix[3][4] = {
		{1, 2, 3, 4},
		{5, 6, 7, 8},
		{9, 10, 11, 12}
	};
	
	// 2차원 배열의 요소 출력
	printf("2차원 배열의 요소:\n");
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 4; j++) {
			printf("%d ", matrix[i][j]);
		}
		printf("\n");
	} 
	return 0;
}

위 코드에서 'matrix' 배열은 3행 4열의 2차원 배열을 나타내고, 각 요소는 초기값으로 초기화되었습니다. 그런 다음 중첩된 두 개의 'for' 루프를 사용하여 배열의 요소를 모두 출력하였습니다.

 

코드업에서 배열에 관련된 문제를 추천드립니다.

 

#1024 코드업 (CodeUp) 1024번 문제 풀이 [C언어 기초 100제]

안녕하세요. 오늘은 C언어 기초 100제 문제에서 1024번 문제를 풀어보겠습니다.단어를 1개를 입력받고, 입력받은 단어의 각 문자를 한줄에 한 문자씩 분리해 출력하는 문제입니다.  아래의 포스

wsul.tistory.com

 

728x90