살구월드

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

 

목차

  1. 이전 포스팅의 C 언어 함수 포인터 및 구조체를 응용하여 oop 스타일로 만들기 예제 학습 링크
  2. 이전 포스팅의 C 언어 strcat 함수를 사용하여 두 문자열 합치기 예제 학습 링크
  3. 이전 포스팅의 C 언어 리눅스에서 detached 스레드 만들기 예제 학습 링크
  4. C 언어 Sequential 순차 정렬 알고리즘 및 결과 출력 예제
  5. C 언어 사용자에게 정수 입력받아 Sequential 순차 정렬 후 출력 예제

 

 

 

 

 

 

 

 

 

이전 포스팅의 C 언어 함수 포인터 및 구조체를 응용하여 oop 스타일로 만들기 예제 학습 링크

이전 포스팅에서는 c언어에서 함수 포인터와 구조체를 응용하여 객체의 메소드를 호출하듯한 스타일의 코딩하는 방법에 대해 알아보았습니다. oop에서는 클래스를 선언하고 클래스 내부에 이너 메소드를 구현합니다. 이는 해당 객체가 사용할 수 있는 메소드를 의미합니다. c언어는 절차지향언어로서 객체라는 개념이 없습니다. 다만, 구조체 자료구조의 포인터를 생성하면 동적 할당된 메모리 공간에 일련의 공간을 할당합니다. 이를 객체처럼 사용할 수 있으며 구조체 멤버 필드로 함수 포인터 변수를 할당하면 마치 oop의 객체가 가진 메소드를 호출하듯이 활용할 수 있습니다. 만약 c언어에서 함수 포인터와 구조체를 응용하는 예제가 궁금하시다면 아래링크를 참고하여 학습해주세요.

 

2021.12.20 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 3(구조체 메모리 동적 할당)

 

C/C++ 함수 포인터 변수 활용 예제 - 3(구조체 메모리 동적 할당)

C 관련 포스팅 목록 2021.12.07 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 2(구조체 함수 포인터) 2021.12.06 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 1 2021.12.19 - [C/stdio] - C 파일 오프셋 위치 이

salguworld.tistory.com

 

 

 

 

 

 

 

이전 포스팅의 C 언어 strcat 함수를 사용하여 두 문자열 합치기 예제 학습 링크

다음으로 이전 포스팅에서는 c언어에서 strcat 문자열 함수를 사용하여 두 버퍼가 가리키는 문자열을 새로운 버퍼에 이어 붙이는 예제를 알아보았습니다. 두 문자열을 합칠 때 strcat을 사용합니다. 자바와 같은 객체지향언어에서는 += 등과 같은 연산자를 사용하여 두 문자열을 이어 붙일 수 있지만 c언어에서는 두 문자열을 이어 붙이는데 포인터를 활용해야합니다. 만약 c언어의 strcat 활용 예제가 궁금하시다면 아래 링크의 포스팅을 참고하여 학습해주세요.

 

2023.07.15 - [C/응용] - [C언어/C++] C언어 strcat 문자열 합치기

 

[C언어/C++] C언어 strcat 문자열 합치기

strcat 오늘은 C언어의 strcat 함수에 대해 알아보도록 하겠습니다. strcat함수는 하나의 문자열 뒤에 새로운 문자열을 이어 붙이는 함수입니다. 이 함수는 붙이고싶은 문자열을 붙이고 싶은 대상에

salguworld.tistory.com

 

 

 

 

 

 

 

이전 포스팅의 C 언어 리눅스에서 detached 스레드 만들기 예제 학습 링크

마지막으로 이전 포스팅에서는 c언어에서 리눅스의 pthread를 생성하는 예제에 대해 알아보았습니다. 스레드란 프로세스 내에서 독립적으로 코드를 수행할 수 있는 논리적 처리 단위를 의미합니다. 즉, 병렬 처리가 가능하게 도와줍니다. 이러한 pthread는 부모 프로세스와 연결되어 커널에서 부모 프로세스가 종료될 때 자식 스레드들도 모두 강제종료합니다. 이러한 구조를 join 방식이라합니다. 만약 pthread를 detached 스레드로 구성하면 부모 프로세스가 종료되더라도 자식 스레드가 강제 종료되지않습니다. 하지만 좀비 스레드가 될 가능성이 있기때문에 조심해야합니다. 리눅스에서 detached 스레드 구성 방법이 궁금하시다면 아래 링크를 참고해주세요.

 

2023.07.16 - [C/응용] - [C언어/C++] C언어 pthread 및 detached thread 만들기

 

[C언어/C++] C언어 pthread 및 detached thread 만들기

프로그래밍에서 스레드란? 프로세스는 1개의 메인 스레드로 구성되어 코드가 실행되는 주체입니다. 하나의 프로세스에서 독립적으로 2개 이상의 코드를 병렬 처리하기 위해서 우리는 스레드를

salguworld.tistory.com

 

 

 

 

 

 

 

C 언어 Sequential 순차 정렬 알고리즘 및 결과 출력 예제

아래는 c언어에서 Sequential 순차 정렬 알고리즘을 작성하여 숫자들을 정렬하여 결과를 화면에 출력하는 예제입니다. 정보처리기사, 정보보안기사에서 자주 출제되는 삽입정렬, 선택정렬, 버블정렬에 이은 정렬 알고리즘입니다.

 

#include <stdio.h>

void sequentialSort(int arr[], int n) {
    int i, j, temp;

    // Sequential 순차 정렬 알고리즘
    for (i = 0; i < n-1; i++) {
        for (j = i+1; j < n; j++) {
            if (arr[i] > arr[j]) {
                // Swap
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
}

int main() {
    int arr[] = {5, 2, 9, 1, 5}; // 정해진 정수 배열

    int n = sizeof(arr) / sizeof(arr[0]);

    // Sequential 순차 정렬 호출
    sequentialSort(arr, n);

    // 정렬된 배열 출력
    printf("Sorted array:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

 

c언어에서 순차정렬을 수행한 모습

 

 

 

 

 

 

 

C 언어 사용자에게 정수 입력받아 Sequential 순차 정렬 후 출력 예제

아래는 c언어에서 사용자에게 정수들의 집합을 입력받아 해당 정수들을 Sequential 순차 정렬 후 화면에 출력하는 예제입니다.

 

#include <stdio.h>

void sequentialSort(int arr[], int n) {
    int i, j, temp;

    // Sequential 순차 정렬 알고리즘
    for (i = 0; i < n-1; i++) {
        for (j = i+1; j < n; j++) {
            if (arr[i] > arr[j]) {
                // Swap
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
}

int main() {
    int i, n;

    printf("Enter the number of elements: ");
    scanf("%d", &n);

    int arr[n];

    printf("Enter %d integers:\n", n);
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    // Sequential 순차 정렬 호출
    sequentialSort(arr, n);

    // 정렬된 배열 출력
    printf("Sorted array:\n");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

 

c언어에서 순차 정렬로 사용자에게 입력받은 정수들을 정렬한 모습

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

공유하기

facebook twitter kakaoTalk kakaostory naver band