본문 바로가기
반응형

언어/C언어17

[c언어] 배열을 이용한 FIFO구조 만들기 struct 형태의 배열 records가 있고, 이 배열에 새로운 데이터를 추가할 때마다, 기존 데이터를 하나씩 뒤로 밀어내고, 새 데이터를 배열의 첫 번째 위치에 저장하려고 합니다. 이렇게 하면 항상 최신 데이터에 빠르게 접근할 수 있으며, 오래된 데이터는 자연스럽게 배열의 끝으로 밀려나게 됩니다. 구조체 및 배열 정의 먼저, 사용할 struct를 정의합니다. 예를 들어, 각각의 Record가 온도 데이터를 포함하고 있다고 가정합니다 struct Record { // ... 여기에 다른 필드들 ... unsigned char tempData[10]; }; 그리고 이 Record 타입의 배열을 선언합니다 #define RECORDS_SIZE 72 struct Record records[RECORDS_SI.. 2023. 11. 19.
[c언어] qsort 함수란? C 언어에서 qsort() 함수는 배열의 요소를 정렬하는 데 사용되는 표준 라이브러리 함수 중 하나입니다. "Quick Sort"의 약어로, 퀵 정렬 알고리즘을 기반으로 동작합니다. qsort() 함수는 정렬된 결과로 배열의 요소를 재배열하며, 배열의 요소 형식에 따라 다양한 데이터 유형을 정렬할 수 있습니다 qsort() 함수의 프로토타입: void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); base: 정렬할 배열의 시작 지점을 가리키는 포인터입니다. nmemb: 배열의 요소 수입니다. size: 각 요소의 크기(바이트)입니다. compar: 사용자 지정 비교 함수를 가리키는 포인터입니다.. 2023. 10. 30.
[C언어] malloc 함수란? malloc 함수는 C 프로그램에서 특정 작업을 수행하는 코드 블록으로, 임의의 입력을 받아 처리하고 결과를 반환할 수 있는 코드의 일부입니다. 함수는 프로그램을 모듈화하고 코드를 구조화하는 데 사용됩니다. 함수는 다음 요소로 정의됩니다: 함수 구조 void* malloc(size_t size); size_t 데이터 형식은 부호 없는 정수로, 메모리 블록의 크기를 나타냅니다. 이 크기는 바이트 단위로 지정됩니다. malloc() 함수는 메모리 할당에 실패한 경우 NULL 포인터를 반환합니다. malloc() 함수 예제 코드: 아래는 malloc() 함수를 사용하여 정수 배열을 동적으로 할당하는 예제 코드입니다. #include #include int main() { int size = 5; // 배열의 .. 2023. 10. 30.
[c언어] strcpy 함수 strcpy 함수는 문자열을 다른 문자열로 복사하는 데 사용되며, 많은 C 프로그래머가 일상적으로 사용하는 중요한 함수 중 하나입니다. char* strcpy(char* destination, const char* source); destination: 복사한 문자열이 저장될 대상 문자열의 포인터입니다. source: 복사할 문자열의 포인터로, const 키워드를 사용하여 수정되지 않는 문자열을 가리킵니다. strcpy 함수는 destination로 지정된 메모리에 source로 지정된 문자열을 복사합니다. 이때, destination의 메모리 공간은 충분히 커야 합니다. 함수 활용법 #include #include int main() { char source[] = "Hello, World!"; cha.. 2023. 10. 30.
[c언어] 멀티스레딩과 병렬 프로그래밍 멀티스레딩의 개념 멀티스레딩은 하나의 프로세스 안에서 여러 스레드를 생성하고 실행하는 개념입니다. 스레드는 각각 독립적으로 실행되며, 공유 데이터에 대한 동시 접근을 조절하는 동기화 메커니즘을 사용할 수 있습니다. 멀티스레딩은 여러 작업을 동시에 처리하는 데 도움을 주며, 다중 코어 CPU에서 더 효율적으로 작동합니다. 이로써 프로그램의 응답성을 향상시키고, 복잡한 작업을 분할하여 더 빠르게 실행할 수 있습니다. 병렬 프로그래밍의 개념 병렬 프로그래밍은 여러 프로세스 또는 스레드가 동시에 작업을 수행하는 개념입니다. 이는 다중 프로세서 시스템에서 특히 중요합니다. 병렬 프로그래밍을 사용하면 여러 작업을 분산시켜 동시에 처리하고, 더 빠른 실행 속도를 달성할 수 있습니다. 이러한 기술은 과학 및 엔터프라이.. 2023. 10. 28.
[C언어] strstr 함수 사용 C 언어의 strstr 함수는 문자열에서 하위 문자열을 검색하는 데 사용됩니다. 이 함수는 매우 유용하며 문자열 처리와 검색 작업에서 자주 활용됩니다. strstr 함수의 사용 방법과 동작 원리를 자세히 살펴보겠습니다. 1. 함수의 선언과 기능 strstr 함수는 헤더 파일에 선언되어 있습니다. 함수의 선언은 다음과 같습니다 char *strstr(const char *haystack, const char *needle); haystack: 검색 대상이 되는 문자열입니다. needle: 찾고자 하는 부분 문자열입니다. strstr 함수는 needle 문자열이 haystack 문자열 내에서 발견되는 위치를 찾아 해당 위치의 포인터를 반환합니다. 만약 needle을 찾을 수 없으면 NULL 포인터를 반환합니.. 2023. 10. 27.
반응형