ライブラリー

2016-01-15 (金) 09:27:34 (3915d) | 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