반응형

C_C++ 359

(C언어) 자료구조: 배열로 큐(Queue) 표현하기, 장점 단점

큐는 데이터 구조 중 하나로, FIFO(First In First Out) - 데이터를 먼저 집어넣은 순서대로 꺼낼 수 있는 - 자료구조입니다. 이 예제에서는 배열(Array)을 사용하여 큐(queue)를 구현하는 C언어 코드입니다. 테스트를 위해서 큐의 크기를 5로 설정했습니다. #include #include #define MAX_QUEUE_SIZE 5 struct Queue { int items[MAX_QUEUE_SIZE]; int front; int rear; }; struct Queue* createQueue() { struct Queue* queue = (struct Queue*)malloc(sizeof(struct Queue)); queue->front = -1; queue->rear = -..

C_C++ 2023.10.25

(C언어) 원형 연결리스트 circular linked list

새 노드를 뒤쪽에 삽입하는 원형 연결리스트의 C언어 코드입니다. #include #include // 원형 연결 리스트의 노드를 나타내는 구조체 struct Node { int data; struct Node* next; }; // 새 노드 생성 함수 struct Node* createNode(int data) { struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); newNode->data = data; newNode->next = NULL; return newNode; } // 뒤쪽에 노드 추가 함수 struct Node* insertAtEnd(struct Node* head, int data) { struct Node* newNode ..

C_C++ 2023.10.13

(C언어) 지정된 폴더의 파일 목록 출력하기

다음 코드는 윈도우에서 지정한 폴더(디렉토리)의 파일과 하위 폴더의 파일 목록을 출력하는 C언어 소스입니다. #include #include #include #include #include #pragma warning ( disable : 4996 ) #define DIRECTORY 1 #define FILE 0 struct _finddata_t fd; int isDirectory() { if (fd.attrib & _A_SUBDIR) return DIRECTORY; else return FILE; } void FileSearch(char path[]) { intptr_t handle; int check = 0; char path2[_MAX_PATH]; strcpy(path2, path); strcat(..

C_C++ 2023.07.10

(C/C++) 사칙연산 계산하기

C언어와 C++ 언어를 이용해서 사칙 연산을 수행하는 예제입니다. C언어 #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include int main() { int a, b; printf("a = "); scanf("%d", &a); printf("b = "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); printf("%d - %d = %d\n", a, b, a - b); printf("%d * %d = %d\n", a, b, a * b); printf("%d / %d = %d\n", a, b, a / b); printf("%d / %d = %f\n", a, b, (double)a / b); printf(..

C_C++ 2023.07.09

(C언어) 두 개의 파일이 같은지 (다른지) 비교하기

두 개의 파일이 같은지 비교하는 C언어 코드입니다. 명령 프롬프트(command line)에서 두 개의 파일명을 받고, 해당 파일을 읽어서 그 내용을 비교합니다. // compare.c #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include #include #define MAX_LENGTH 1000 int main(int argc, char *argv[]) { if (argc != 3) { printf("Usage: compare \n"); return 1; } char *filename1 = argv[1]; char *filename2 = argv[2]; FILE *file1 = fopen(filename1, "r"); FILE *file2 = fopen..

C_C++ 2023.06.23

(C언어) 스레드로 배경음악 재생하기

C언어로 윈도우에서 배경음악을 출력하기 위해서는 Windows API와 스레드를 사용해야 합니다. 다음 예제는 윈도우에서 스레드를 이용해서 배경 음악을 출력하는 예제입니다. #include #include #include #pragma comment(lib,"winmm.lib") // 배경음악 재생을 위한 스레드 함수 DWORD WINAPI PlayMusic(LPVOID lpParam) { // 배경음악 재생 PlaySound(TEXT("C:\\temp\\Alarm01.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP); return 0; } int main() { // 스레드 생성 HANDLE hThread; DWORD threadId; hThread = Creat..

C_C++ 2023.06.15

(C언어) 배경음악 (소리 .wav) 재생하기

PlaySound 함수로 오디오 파일을 재생할 수 있습니다. 다음 코드는 배경 음악을 출력하는 C언어 코드입니다. 프로그램 종료할 때까지 재생됩니다. SND_LOOP: 반복해서 재생 SND_ASYNC: 비동기 방식 #include #include #include #pragma comment(lib,"winmm.lib") int main() { // 배경음 재생 PlaySound(TEXT("Alarm01.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP | SND_NODEFAULT); printf("아무키나 누르면 종료됩니다.\n\n"); getchar(); return 0; } 소스 다운로드: 비주얼스튜디오 2022버전으로 작성된 파일입니다.

C_C++ 2023.06.15
반응형