와드의 블로그

12. 배열과 문자열 본문

프로그래밍 언어/C

12. 배열과 문자열

Ward 2021. 9. 14. 18:34

(1) 배열

 

* 배열이란?

배열: 같은 자료형의 데이터를 그룹으로 묶어서 표현하는 것이다.

 

* 배열의 선언과 사용

#include <stdio.h>

int main()
{
	int arr[5] = { 1,2,3,4,5 }; // 배열의 선언
	int sum = 0;

	for (int i = 0; i < 5; i++)
		sum += arr[i]; // 배열의 인덱스는 0부터 시작
	
	printf("%d", sum);

	return 0;
}

 

* 배열의 초기화

배열은 각 요소에 일정한 값을 대입하여 초기화해서 사용해야한다.

선언과 동시에 초기화 하는 방법이 있고 선언 후에 반복문을 통해 초기화할 수 있다.

배열을 선언과 동시에 초기화할 경우 배열을 선언할 때 배열 요소 개수를 생략할 수 있다.

배열 0으로 초기화하기

int arr[100] = { 0, }; // 배열의 모든 요소값이 0으로 설정된다.

 

(2) 문자열

 

* 배열로 문자열 표현하기

문자열은 NULL로 끝나는 배열이다.

문자열의 사용

#include <stdio.h>

int main()
{
	char str1[6] = { 'h','a','p','p','y','\0' }; 
	char str2[6] = "happy"; // 둘 다 동일한 문자열을 나타내는 방법이다.

	printf("%s, %s", str1, str2);

	return 0;
}

 

* 문자열을 다루는 C 내장함수

문자열을 다루는 내장함수는 string.h에서 제공한다.

  • strlen: 문자열의 길이를 구한다.
  • strcpy: 문자열을 복사한다.
  • strcat: 문자열의 뒤에 다른 문자열을 이어 붙인다.

(3) 2차원 배열

 

* 2차원 배열의 필요성

2차원 정보를 1차원 배열에 저장하면 소스 코드를 작성할 때, 요소의 위치를 파악하기 어렵다. 따라서 2차원 데이터와 표현 방식이 같은 2차원 배열을 사용한다.

 

* 2차원 배열 사용하기

#include <stdio.h>

int main()
{
	char data[3][4] = { {0,0,2,0},{1,1,0,0},{2,1,0,2} };
	for (int y = 0; y < 3; y++) {
		for (int x = 0; x < 4; x++) {
			printf("%d행 %d열에", y + 1, x + 1);
			if (data[y][x] == 1)
				printf(" 검은 돌이 놓여 있습니다.\n");
			else if (data[y][x] == 2)
				printf(" 흰 돌이 놓여 있습니다.\n");
			else
				printf("는 돌이 놓여 있지 않습니다.\n");
		}
	}

	return 0;
}

 

참조문헌: C언어 입문

'프로그래밍 언어 > C' 카테고리의 다른 글

14. 표준 입력 함수  (0) 2021.09.16
13. 포인터  (0) 2021.09.16
11. 지역 변수와 전역 변수  (0) 2021.09.12
10. 시프트 연산자와 비트 연산자  (0) 2021.09.12
9. 반복문  (0) 2021.09.12