분류 전체보기(637)
-
C언어 초급 - 13장: 구조체와 공용체 (13.1 구조체 (struct))
13.1 구조체 (struct)C 언어에서 구조체(Structure, struct) 는 여러 개의 변수를 하나의 그룹으로 묶어서 관리할 수 있는 사용자 정의 데이터 타입입니다.서로 다른 자료형(정수, 실수, 문자열 등) 을 하나의 구조체로 묶어서 저장할 수 있습니다.✅ 구조체의 주요 특징서로 다른 데이터 타입을 하나로 묶을 수 있음.배열과 달리, 여러 개의 데이터 타입을 포함 가능.배열처럼 구조체 변수를 선언할 수 있으며, 구조체 포인터를 사용할 수 있음.파일 저장 및 네트워크 데이터 전송에 활용됨.1. 구조체 선언 및 사용1.1 구조체 선언구조체는 struct 키워드를 사용하여 선언합니다.📌 기본 문법struct 구조체이름 { 자료형 변수1; 자료형 변수2; ...};📌 구조체 선언..
2025.02.24 -
C언어 초급 - 12장: 파일 입출력 (12.3 바이너리 파일 읽기/쓰기)
12.3 바이너리 파일 읽기/쓰기C 언어에서 파일 입출력은 텍스트 파일과 바이너리 파일로 나뉩니다.바이너리 파일(Binary File)은 텍스트가 아닌 데이터(숫자, 구조체 등)를 그대로 저장하는 파일입니다.📌 바이너리 파일을 사용하는 이유데이터를 빠르게 저장하고 읽을 수 있음 (파일 크기가 작고 처리 속도가 빠름).데이터 손실 없이 그대로 저장 가능 (텍스트 파일은 변환 과정에서 손실 가능).정수, 실수, 구조체 등의 데이터를 그대로 저장할 수 있음.✅ 바이너리 파일을 처리할 때 fread(), fwrite() 함수를 사용합니다.1. fwrite() - 바이너리 데이터 쓰기1.1 fwrite() 함수 개요fwrite() 함수는 메모리에서 파일로 바이너리 데이터를 저장하는 함수입니다.📌 문법size_..
2025.02.24 -
C언어 초급 - 12장: 파일 입출력 (12.2 텍스트 파일 읽기/쓰기)
12.2 텍스트 파일 읽기/쓰기C 언어에서 텍스트 파일을 읽고 쓰는 기능을 제공하는 함수로 fprintf(), fscanf(), fgets(), fputs() 등이 있습니다.이 함수들을 활용하면 파일에 데이터를 저장하고, 저장된 데이터를 다시 읽어올 수 있습니다.1. fprintf()와 fscanf() - 파일에 형식화된 데이터 읽기/쓰기1.1 fprintf() - 파일에 형식화된 데이터 쓰기fprintf() 함수는 파일에 형식화된 데이터를 출력하는 함수입니다.printf() 함수와 동일한 형식 지정자를 사용하지만, 출력 대상이 파일이라는 점이 다릅니다.📌 문법int fprintf(FILE *fp, const char *format, ...);fp → 파일 포인터.format → 출력할 형식 문자열 (..
2025.02.24 -
C언어 초급 - 12장: 파일 입출력 (12.1 파일 입출력 개요)
12.1 파일 입출력 개요1. 파일 입출력이란?파일 입출력(File I/O)은 프로그램이 파일을 읽고 쓰는 기능을 의미합니다.C 언어에서는 stdio.h 헤더 파일을 사용하여 파일을 열고(fopen()), 읽고/쓰고, 닫는(fclose()) 작업을 수행할 수 있습니다.✅ 파일 입출력을 사용하는 이유데이터를 영구적으로 저장 가능 (프로그램 종료 후에도 유지됨).메모리에 저장할 수 없는 대량의 데이터를 처리 가능.입출력 장치(키보드, 모니터)와 상관없이 데이터 관리 가능.2. 파일 포인터 (FILE *fp)C 언어에서 파일을 처리하려면 파일 포인터(FILE *fp)를 사용해야 합니다.📌 파일 포인터란?파일을 가리키는 포인터로, 파일을 열면 해당 파일의 정보를 저장함.FILE 구조체(stdio.h에 정의됨)..
2025.02.24 -
C언어 초급 - 11장: 동적 메모리 할당 (11.2 메모리 누수 방지와 free() 함수의 중요성)
11.2 메모리 누수 방지와 free() 함수의 중요성1. 메모리 누수란?메모리 누수(Memory Leak) 는 프로그램에서 동적으로 할당한 메모리를 해제하지 않아, 사용되지 않는 메모리가 계속 남아있는 현상입니다.C 언어는 자동 메모리 관리 기능이 없기 때문에, 동적 할당(malloc(), calloc(), realloc())으로 확보한 메모리는 반드시 free()를 사용하여 직접 해제해야 합니다.📌 메모리 누수가 발생하면?점점 사용 가능한 메모리가 줄어들어 프로그램이 느려지고 결국 충돌(Crash) 발생.특히, 장시간 실행되는 프로그램(서버, 임베디드 시스템 등)에서 심각한 문제 유발.✅ 해결 방법: 동적 메모리 할당 후 반드시 free()를 호출하여 메모리를 해제해야 함.2. free() 함수란?..
2025.02.24 -
C언어 초급 - 11장: 동적 메모리 할당 (11.1 동적 메모리 할당의 필요성)
11.1 동적 메모리 할당의 필요성1. 동적 메모리 할당이란?동적 메모리 할당(Dynamic Memory Allocation)은 프로그램 실행 중에 메모리를 할당하고 해제하는 기능입니다.C 언어에서 메모리는 크게 정적 메모리(Static Memory)와 동적 메모리(Dynamic Memory) 로 나뉩니다.1.1 정적 메모리 할당(Static Memory Allocation)컴파일 시 메모리 크기가 결정됨.int arr[100]; → 한 번 크기를 지정하면 변경 불가.배열 크기를 미리 예측해야 하므로 비효율적일 수 있음.1.2 동적 메모리 할당(Dynamic Memory Allocation)프로그램 실행 중에 메모리 크기를 조정 가능.malloc(), calloc(), realloc() 함수를 사용하여 ..
2025.02.24