본문 바로가기
IT 기술/C언어

C언어 배열(array) part 2_18일차

by 썬's 2023. 2. 23.

안녕하세요 보글리아입니다.

이전 시간에는 배열을 이용해 정수값을 출력해 봤습니다.

이번에는 저번 시간에 이어 배열에 문자열을 입력해 보도록 하겠습니다.

※제 수업은 이전주차에서 배운 개념을 재차 설명드리지 않습니다※

※본 수업에 들어가기 앞서 요약을 하고 세부적인 설명을 하겠습니다※

 


요약

  • 배열이란 동일한 자료형을 묶어 표현하는 기법
  • 배열로 문자열을 표현하는 방식은 자료형 + 배열명[요소 개수]이다.
  • 첫 번째 배열 문자열 표현 방식은 작음따옴표를 연속해서 작성한다.
  • 두 번째 방법은 큰따옴표로 문자열을 작성한다.
  • 세 번째 방법은 대괄호 안에 문자열 길이를 적지 않고 바로 적는다.
  • 문자열은 정수값과 다르게 크기를 하나 더 잡아준다.

배열로 문자열 표현하는 방법

C언어에서 배열로 문자열을 출력하려면 먼저 문자열이 뭔지 아셔야 합니다.

문자열이란 문자들의 집합으로 이루어진 형태로, 예를 들어 Hello라는 문자열이 있으면, 이 문자열은 H, e, l, l, o 각각의 문자로 이루어져 있습니다. 그럼 문자열을 출력해 보겠습니다.

 

먼저 기존의 문자열을 선언하고 출력해 보는 법입니다.

하단 코드를 보시면, char 자료형의 변수를 5개 선언한 후 각각의 변수에 문자를 일일해 저장했습니다.

여기서는 문자열의 문자가 고작 5개라 어렵진 않지만, 문자열이 아주 길면, 난감해집니다.

 

이전 시간에 자료형이 같은 변수를 묶어서 표현하는 것이 바로 배열이라고 설명했습니다.

문자열도 마찬가지로 char라는 자료형이 동일하기 때문에 배열로 문자열을 표현할 수 있습니다.

#include <stdio.h>

int main()
{
	char letter1 = 'H';
	char letter2 = 'e';
	char letter3 = 'l';
	char letter4 = 'l';
	char letter5 = 'o';

	printf("%c%c%c%c%c \n", letter1, letter2, letter3, letter4, letter5);

	return 0;
}

출력 결과

이번에 배열을 이용해 문자열을 저장해 보겠습니다.

배열로 문자열을 표현할 때 역시, 대괄호 안에 문자가 몇 개인지 적어주셔야 합니다. 단 여기서 주의하실 점이 있습니다. 문자열은 끝에 0이 들어가기 때문에 숫자를 하나 더 적어주셔야 합니다. 

예를 들어 hello는 문자가 5개지만, 문자 끝에 0이 들어가기 때문에 대괄호 안에 6을 작성하셔야 합니다.

이는 '이 배열에 저장된 정보는 문자열이다'라고 컴파일러에 알려줘야 하기 때문입니다.

 

배열로 문자열을 표현하는 방법은 총 세 가지입니다.

  1. char 변수명[요소 길이] = {' ', ' ', ' ',.......}
  2. char 변수명[요소 길이] = "~~~";
  3. char 변수명 [] = "~~~";

두 번째 방법은 매번 작음따옴표로 문자를 하나씩 나열하는 게 불편하기 때문에 큰따옴표를 사용해 문자열을 초기화할 수 있습니다. 세 번째 방법은 대괄호 안에 요소 길이를 작성하지 않고 문자를 원하는 데로 작성하면, 나중에 컴파일러가 알아서 처리해 줍니다.

 

문자열을 출력할 때는 %s를 사용합니다.

#include <stdio.h>

int main()
{
	char letter[6] = { 'H', 'e', 'l', 'l', 'o' }; // 첫 번째 방법
	char letter2[6] = "world"; // 두 번째 방법
	char letter3[] = "nice to meet yout"; // 세 번째 방법

	printf("%s \n", letter);
	printf("%s \n", letter2);
	printf("%s \n", letter3);

	return 0;
}

 


오늘은 배열을 이용해 문자열을 출력해 봤습니다.

그럼 다음 시간에는 2차원 배열을 알아보도록 하겠습니다.

긴 글 읽으시느라 너무너무 고생 많으셨습니다~~

댓글