본문 바로가기
C언어/C언어 고급

고급4강_C 라이브러리 활용법 완전 정복

by AI쌤 2025. 4. 22.
반응형

안녕하세요!
이번 주는 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 디버깅 기법, 그리고 오류를 잡아내는 팁들을 전수해드립니다.

반응형