반응형
배열(Array)과 문자열(String)은 C 언어에서 매우 중요한 개념입니다. 이 글에서는 배열과 문자열의 기본 개념부터 활용 방법까지 차근차근 살펴보겠습니다.
배열이란?
배열은 같은 데이터 타입의 값들을 연속된 메모리 공간에 저장하는 자료구조입니다. 배열을 사용하면 여러 개의 변수를 하나의 이름으로 관리할 수 있습니다.
배열 선언
배열을 선언하려면 데이터 타입과 배열의 이름, 그리고 크기를 지정해야 합니다.
#include <stdio.h>
int main() {
int numbers[5]; // 크기가 5인 정수형 배열 선언
return 0;
}
배열 초기화
배열은 선언과 동시에 초기화할 수 있습니다.
int numbers[5] = {1, 2, 3, 4, 5};
크기를 생략하면 초기값의 개수에 따라 자동으로 크기가 결정됩니다.
int numbers[] = {10, 20, 30};
// 배열 크기는 3으로 설정됩니다.
배열 요소 접근
배열의 각 요소는 0부터 시작하는 인덱스를 사용하여 접근합니다.
#include <stdio.h>
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
return 0;
}
다차원 배열
C 언어에서는 다차원 배열도 지원합니다. 예를 들어, 2차원 배열은 행(row)과 열(column)로 구성됩니다.
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
printf("matrix[0][1] = %d\n", matrix[0][1]); // 2 출력
문자열이란?
문자열은 문자(char)의 배열로 표현되며, 마지막에 문자열의 끝을 나타내는 널 문자(\0
)가 포함됩니다.
문자열 선언
문자열은 다음과 같이 선언할 수 있습니다.
char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
char str2[] = "Hello"; // 더 간단한 방법
문자열은 항상 널 문자를 포함해야 하므로 배열 크기는 문자열 길이보다 1 더 커야 합니다.
문자열 출력
printf
함수와 %s
서식 문자를 사용하여 문자열을 출력할 수 있습니다.
#include <stdio.h>
int main() {
char greeting[] = "Hello, World!";
printf("%s\n", greeting);
return 0;
}
문자열 입력
사용자로부터 문자열을 입력받으려면 scanf
나 gets
함수를 사용할 수 있습니다.
#include <stdio.h>
int main() {
char name[50];
printf("이름을 입력하세요: ");
scanf("%s", name); // 공백 전까지 입력받음
printf("안녕하세요, %s님!\n", name);
return 0;
}
문자열 관련 함수
C 표준 라이브러리 <string.h>
는 문자열 처리를 위한 다양한 함수를 제공합니다.
strlen
: 문자열 길이를 반환strcpy
: 문자열 복사strcmp
: 문자열 비교strcat
: 문자열 연결
예제: 문자열 길이 계산
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "C Programming";
printf("문자열 길이: %zu\n", strlen(str));
return 0;
}
배열과 문자열의 활용 예제
배열과 문자열을 활용하여 간단한 프로그램을 작성해보겠습니다.
예제 1: 배열의 합 계산
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
printf("배열의 합: %d\n", sum);
return 0;
}
예제 2: 문자열 뒤집기
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
int len = strlen(str);
printf("원래 문자열: %s\n", str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
printf("뒤집힌 문자열: %s\n", str);
return 0;
}
정리
- 배열은 같은 데이터 타입의 값을 연속된 메모리 공간에 저장하는 자료구조입니다.
- 문자열은 문자 배열로 표현되며, 항상 널 문자(
\0
)로 끝납니다. - C 표준 라이브러리에는 문자열 처리를 위한 다양한 함수가 제공됩니다.
배열과 문자열을 제대로 이해하고 활용하면 더욱 효율적이고 강력한 C 프로그램을 작성할 수 있습니다.
반응형
'c 언어' 카테고리의 다른 글
C 언어 함수 (0) | 2024.12.13 |
---|---|
C 언어 포인터의 개념과 사용법 및 배열과 포인터의 관계 (0) | 2024.12.13 |
C 언어 조건문과 반복문 (0) | 2024.12.13 |
C 언어의 연산자 (0) | 2024.12.12 |
C 프로그램 입/출력 및 파일 입출력 (0) | 2024.12.12 |