본문 바로가기
프로그래밍/C

[C] 6. C언어의 -배열과 문자열-

by iwbap 2024. 6. 12.
728x90
반응형

C 언어 학습: 배열과 문자열

C 언어에서 배열과 문자열은 데이터를 효율적으로 저장하고 처리하는 데 중요한 역할을 합니다. 이번 글에서는 1차원 배열, 다차원 배열, 그리고 문자열 처리 함수인 strcpy, strcat, strcmp 등에 대해 알아보겠습니다.


1. 1차원 배열

1차원 배열은 동일한 자료형의 데이터를 연속적으로 저장할 수 있는 변수입니다. 배열의 각 요소는 인덱스를 통해 접근할 수 있습니다. 배열의 선언과 초기화는 다음과 같습니다.

[c]
 
#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;
}
 

위의 예제에서 numbers 배열은 5개의 정수를 저장하며, 각 요소는 인덱스를 통해 접근합니다. for 문을 사용하여 배열의 모든 요소를 출력합니다.


2. 다차원 배열

다차원 배열은 배열의 배열로 생각할 수 있으며, 가장 일반적인 형태는 2차원 배열입니다. 2차원 배열은 행(row)과 열(column)로 구성됩니다. 다차원 배열의 선언과 초기화는 다음과 같습니다.

[c]
 
#include <stdio.h>

int main() {
    int matrix[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    }; // 2차원 배열 선언 및 초기화

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j]);
        }
    }
    return 0;
}
 

위의 예제에서 matrix 배열은 2x3 형태의 2차원 배열로, 두 개의 행과 세 개의 열을 가집니다. 중첩된 for 문을 사용하여 모든 요소를 출력합니다.


3. 문자열 처리

C 언어에서 문자열은 문자(char)의 배열로 처리됩니다. 문자열 처리를 위해 표준 라이브러리 string.h를 사용합니다. 자주 사용되는 문자열 처리 함수는 strcpy, strcat, strcmp 등이 있습니다.

 

 

1. strcpy : 문자열 복사

[c]
 
#include <stdio.h>
#include <string.h>

int main() {
    char src[50] = "Hello, World!";
    char dest[50];

    strcpy(dest, src); // src 문자열을 dest에 복사
    printf("dest: %s\n", dest);
    return 0;
}
 
 
 

2. strcat : 문자열 연결

[c]
 
#include <stdio.h>
#include <string.h>

int main() {
    char str1[50] = "Hello, ";
    char str2[50] = "World!";

    strcat(str1, str2); // str2 문자열을 str1에 연결
    printf("str1: %s\n", str1);
    return 0;
}
 
 
 

3. strcmp : 문자열 비교

[c]
 
#include <stdio.h>
#include <string.h>

int main() {
    char str1[50] = "Hello";
    char str2[50] = "World";

    int result = strcmp(str1, str2); // str1과 str2 비교
    if (result == 0) {
        printf("The strings are equal.\n");
    } else {
        printf("The strings are not equal.\n");
    }
    return 0;
}
 

위의 예제에서 strcpy 함수는 src 문자열을 dest로 복사하고, strcat 함수는 str2 문자열을 str1에 연결합니다. strcmp 함수는 str1과 str2를 비교하여 두 문자열이 같으면 0을, 다르면 0이 아닌 값을 반환합니다.


이번 글에서는 C 언어의 배열과 문자열에 대해 알아보았습니다. 배열과 문자열은 데이터를 효율적으로 관리하고 처리하는 데 매우 유용합니다. 다음 시간에는 포인터에 대해 자세히 다뤄보겠습니다. C 언어 학습에 많은 도움이 되길 바랍니다. Happy Coding!

728x90
반응형

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

[C] 8. C언어의 -구조체-  (0) 2024.06.13
[C] 7. C언어의 -포인터-  (0) 2024.06.13
[C] 5. C언어의 -함수-  (0) 2024.06.12
[C] 4. C언어의 -조건문과 반복문-  (0) 2024.06.12
[C] 3. C언어의 -연산자-  (0) 2024.06.12