IT기초/C 언어

[c언어] 포인터와 배열 조합 사용법 - 예제 코드 포함

ITtechRoy 2023. 9. 6. 11:03
728x90
반응형

C 언어로 포인터와 배열 조합 활용하기

이 예제에서는 C 언어에서 포인터와 배열을 조합하여 다양한 작업을 수행하는 방법을 알아보겠습니다. 포인터를 사용하여 배열의 요소에 접근하고 수정하는 등 다양한 작업을 수행할 수 있습니다.

예제 1: 배열 요소의 합 계산

포인터를 사용하여 배열 요소의 합을 계산하는 C 프로그램의 예제 코드입니다:

#include 

int main() {
    int numbers[] = {1, 2, 3, 4, 5};
    int sum = 0;
    int *pointer = numbers;

    for (int i = 0; i < 5; i++) {
        sum += *pointer;
        pointer++;
    }

    printf("배열 요소의 합: %d\n", sum);

    return 0;
}
    

예제 2: 최댓값 찾기

포인터와 배열을 조합하여 배열에서 최댓값을 찾는 C 프로그램의 예제 코드입니다:

#include 

int findMax(int arr[], int size) {
    int max = arr[0];
    int *pointer = arr;

    for (int i = 1; i < size; i++) {
        if (*pointer > max) {
            max = *pointer;
        }
        pointer++;
    }

    return max;
}

int main() {
    int numbers[] = {10, 5, 20, 8, 15};
    int size = sizeof(numbers) / sizeof(numbers[0]);
    int maxValue = findMax(numbers, size);

    printf("배열에서 최댓값: %d\n", maxValue);

    return 0;
}
    

예제 3: 배열 요소 역순 출력

포인터와 배열을 조합하여 배열 요소를 역순으로 출력하는 C 프로그램의 예제 코드입니다:

#include 

int main() {
    int numbers[] = {1, 2, 3, 4, 5};
    int *pointer = numbers + 4;

    printf("배열 요소 역순 출력: ");
    for (int i = 4; i >= 0; i--) {
        printf("%d ", *pointer);
        pointer--;
    }
    printf("\n");

    return 0;
}
    

예제 4: 배열 요소 수정

포인터를 사용하여 배열 요소를 수정하는 C 프로그램의 예제 코드입니다:

#include 

int main() {
    int numbers[] = {1, 2, 3, 4, 5};
    int *pointer = numbers;

    // 배열 요소 수정
    for (int i = 0; i < 5; i++) {
        *pointer *= 2;
        pointer++;
    }

    printf("수정된 배열: ");
    for (int i = 0; i < 5; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\n");

    return 0;
}
    

예제 5: 배열 요소 복사

포인터와 배열을 조합하여 배열 요소를 다른 배열에 복사하는 C 프로그램의 예제 코드입니다:

#include 

void copyArray(int src[], int dest[], int size) {
    int *srcPointer = src;
    int *destPointer = dest;

    for (int i = 0; i < size; i++) {
        *destPointer = *srcPointer;
        srcPointer++;
        destPointer++;
    }
}

int main() {
    int source[] = {1, 2, 3, 4, 5};
    int destination[5];
    int size = sizeof(source) / sizeof(source[0]);

    copyArray(source, destination, size);

    printf("복사된 배열: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", destination[i]);
    }
    printf("\n");

    return 0;
}
    
728x90
반응형