반응형
안녕하세요!
이번 주는 C 언어의 표준 라이브러리를 본격적으로 활용해보는 시간을 갖겠습니다.
C 언어의 표준 라이브러리는 정말 다양하고 강력한 기능들을 제공하는데요, 잘 활용하면 불필요한 반복 구현 없이, 이미 검증된 함수를 통해 문제를 빠르게 해결할 수 있습니다.
1. C 라이브러리란?
라이브러리는 쉽게 말해 미리 만들어진 함수들의 모음입니다.
이 중 C 언어에서 기본으로 제공하는 것이 바로 **표준 라이브러리(Standard Library)**입니다.
오늘은 그중에서도 가장 많이 쓰이는 세 가지 헤더파일을 다뤄볼 거예요:
- math.h: 수학 계산
- string.h: 문자열 처리
- stdlib.h: 일반 유틸리티 함수 (동적 메모리, 숫자 변환 등)
2. math.h – 수학 계산에 강하다!
#include <math.h>
함수 설명
sqrt(x) | 제곱근 |
pow(x, y) | x의 y제곱 |
sin(x), cos(x) | 삼각함수 |
ceil(x), floor(x) | 올림, 내림 |
⚠ math.h를 쓸 때는 컴파일 시 -lm 옵션을 붙여야 합니다:
gcc main.c -o main -lm
3. string.h – 문자열은 여기 다 있다!
#include <string.h>
함수 설명
strlen(str) | 문자열 길이 |
strcpy(dst, src) | 문자열 복사 |
strcat(dst, src) | 문자열 이어붙이기 |
strcmp(s1, s2) | 문자열 비교 |
strchr(str, c) | 문자 위치 찾기 |
⚠ 문자열 비교할 때는 == 대신 반드시 strcmp()을 써야 합니다!
4. stdlib.h – 숫자 변환, 동적 메모리 등
#include <stdlib.h>
함수 설명
atoi(str) | 문자열 → 정수 |
rand(), srand() | 랜덤 숫자 생성 |
malloc(), free() | 동적 메모리 할당/해제 |
exit(code) | 프로그램 종료 |
5. 예제 프로그램 – 간단 계산기
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
double num;
printf("숫자를 입력하세요: ");
scanf("%lf", &num);
printf("제곱근: %.2f\n", sqrt(num));
printf("세제곱: %.2f\n", pow(num, 3));
printf("올림값: %.2f, 내림값: %.2f\n", ceil(num), floor(num));
return 0;
}
💡 math.h 함수를 사용할 땐 입력 변수나 반환값이 double형인 경우가 많습니다.
6. 오늘의 과제 🎯
과제 주제
📘 C 표준 라이브러리를 활용한 유틸리티 프로그램 만들기
과제 내용
- math.h, string.h, stdlib.h 중 두 가지 이상 활용
- 문자열 입력을 받아 계산 또는 변환하는 기능 구현
- malloc()이나 atoi() 등을 사용하면 가산점!
마무리 정리
- 라이브러리는 "미리 만들어진 도구 상자"
- math.h, string.h, stdlib.h는 꼭 외워야 할 기본 중 기본
- 오늘 배운 함수를 자유자재로 써먹을 수 있게 연습하세요!
다음 시간에는 디버깅의 신이 되기 위한 시간!
gdb와 IDE 디버깅 기법, 그리고 오류를 잡아내는 팁들을 전수해드립니다.
반응형
'C언어 > C언어 고급' 카테고리의 다른 글
고급8강_프로젝트 발표 & 코드 리뷰 (0) | 2025.04.22 |
---|---|
고급7강_실전 프로젝트 제작 (0) | 2025.04.22 |
고급6강_프로젝트 설계 및 역할 분담 (0) | 2025.04.22 |
고급5강_디버깅 기법 완전 정복 (0) | 2025.04.22 |
고급3강_헤더파일과 모듈화 완전 정복 (0) | 2025.04.22 |