ライブラリー

2016-01-15 (金) 09:27:34 (3022d) | Topic path: Top / 授業 / C言語基礎 / ライブラリー

関連する機能の関数を集めたものをライブラリーといいます。

C言語に標準で用意されているライブラリーのうち、これまでに勉強した知識だけでも使えるものについて、いくつか挙げておきます

stdio

入出力に関する関数を集めたライブラリーです。

stdio.h にプロトタイプ宣言とマクロ定義が記述されています。

主な関数 (stdio)

関数名使用例機能
printfprintf(s)標準出力への出力
scanfscanf("%d", &a)標準入力からの入力
fflushfflush(stdout)バッファーのフラッシュ

主なマクロ (stdio)

マクロ名機能
NULL空ポインター

stdlib

一般的に使われる関数を集めたライブラリーです。

stdlib.h にプロトタイプ宣言とマクロ定義が記述されています。

関数 (stdlib)

関数名使用例機能
atoiatoi(s)文字列をint型に変換する
atofatof(s)文字列をdouble型に変換する
randrand()擬似乱数を生成する
srandsrand(0)乱数のシードを設定する
exitexit(EXIT_SUCCESS)プログラムを終了する

マクロ (stdlib)

マクロ名機能
NULL空ポインター
EXIT_SUCCESSプログラムの成功終了
EXIT_FAILUREプログラムの失敗終了
RAND_MAXrand関数が返す最大の値

time

時間に関する関数を集めたライブラリーです。

time.hにプロトタイプ宣言とマクロ定義が記述されています。

主な関数 (time)

関数名使用例機能
timetime(NULL)現在の時刻を取得する

主なマクロ (time)

マクロ名機能
NULL空ポインター

string

文字列に関する関数を集めたライプラリーです。

string.h にプロトタイプ宣言とマクロ定義が記述されています。

主な関数 (string)

関数名使用例機能
strcmpstrcmp(s1, s2)文字列の比較
strcpystrcpy(s1, s2)文字列のコピー
strlenstrcpy(s)文字列の長さ

主なマクロ (string)

マクロ名機能
NULL空ポインター

math

数学に関する関数を集めたライブラリーです。

math.h にプロトタイプ宣言とマクロ定義が記述されています。

mathライブラリーを使用するときは、コンパイル時に -lm オプションが必要です。

luna% gcc -lm math.c

主な関数

関数名使用例機能
sqrtsqrt(x)平方根
powpow(x, e)べき乗
sinsin(x)正弦(三角関数)
coscos(x)余弦(三角関数)
tantan(x)正接(三角関数)
expexp(x)指数関数
loglog(x)自然対数
log10log10(x)常用対数
roundround(x)小数点以下四捨五入
ceilceil(x)小数点以下切り上げ
floorfloor(x)小数点以下切り捨て

主なマクロ

マクロ名機能
INFINITY無限大
M_Eネイピア数
M_PI円周率

ライブラリーの使用例

/*
 *  指数関数の値を求めて出力する
 */
#include <stdio.h>
#include <math.h>

int main(void) {
  double x;
  printf("数値xを入力してください:\n");
  scanf("%lf\n");

  double y = exp(x);
  printf("exp(x) = %f\n", y);

  return 0;
}

mathライブラリーなので、コンパイルするときに -lm オプション(小文字のエルとエム)が必要です。

luna% gcc -lm sin.c

標準ライブラリーの場所(おまけ)

標準ライブラリーのヘッダー・ファイルは、/usr/include/ に置いてあります。

まとめ

C言語には標準でいくつかのライブラリーが用意されています。

ライブラリー関数として用意されている関数については、自分で作り直さずに、ライブラリー関数を利用しましょう。

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS