ライブラリー

| Topic path: Top / 授業 / C言語基礎 / ライブラリー

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

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


*stdio [#vec56d4c]

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

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

**主な関数 (stdio) [#g2d1d3bc]
|関数名|使用例|機能|h
|printf|printf(s)|標準出力への出力|
|scanf|scanf("%d", &a)|標準入力からの入力|
|fflush|fflush(stdout)|バッファーのフラッシュ|


**主なマクロ (stdio) [#p6426fc0]
|マクロ名|機能|h
|NULL|空ポインター|


*stdlib [#s65188a4]

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

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

**関数 (stdlib) [#e26e9880]
|関数名|使用例|機能|h
|atoi|atoi(s)|文字列をint型に変換する|
|atof|atof(s)|文字列をdouble型に変換する|
|rand|rand()|擬似乱数を生成する|
|srand|srand(0)|乱数のシードを設定する|
|exit|exit(EXIT_SUCCESS)|プログラムを終了する|

**マクロ (stdlib) [#f58b2e99]
|マクロ名|機能|h
|NULL|空ポインター|
|EXIT_SUCCESS|プログラムの成功終了|
|EXIT_FAILURE|プログラムの失敗終了|
|RAND_MAX|rand関数が返す最大の値|



*time [#e40238d9]

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

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

**主な関数 (time) [#d50ef5f9]
|関数名|使用例|機能|h
|time|time(NULL)|現在の時刻を取得する|

**主なマクロ (time) [#c8cc35ac]
|マクロ名|機能|h
|NULL|空ポインター|


*string [#x05f16b1]

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

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


**主な関数 (string) [#hf234369]
|関数名|使用例|機能|h
|strcmp|strcmp(s1, s2)|文字列の比較|
|strcpy|strcpy(s1, s2)|文字列のコピー|
|strlen|strcpy(s)|文字列の長さ|

**主なマクロ (string) [#u253c89f]
|マクロ名|機能|h
|NULL|空ポインター|



*math [#s37dec35]

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

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

mathライブラリーを使用するときは、コンパイル時に ''-lm オプション''が必要です。
#geshi(sh){{
luna% gcc -lm math.c
}}

**主な関数 [#c7d7560b]
|関数名|使用例|機能|h
|sqrt|sqrt(x)|平方根|
|pow|pow(x, e)|べき乗|
|sin|sin(x)|正弦(三角関数)|
|cos|cos(x)|余弦(三角関数)|
|tan|tan(x)|正接(三角関数)|
|exp|exp(x)|指数関数|
|log|log(x)|自然対数|
|log10|log10(x)|常用対数|
|round|round(x)|小数点以下四捨五入|
|ceil|ceil(x)|小数点以下切り上げ|
|floor|floor(x)|小数点以下切り捨て|

**主なマクロ [#ue236b79]
|マクロ名|機能|h
|INFINITY|無限大|
|M_E|ネイピア数|
|M_PI|円周率|


*ライブラリーの使用例 [#n67f4575]

#geshi(c){{
/*
 *  指数関数の値を求めて出力する
 */
#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 オプション(小文字のエルとエム)が必要です。
#geshi(sh){{
luna% gcc -lm sin.c
}}



*標準ライブラリーの場所(おまけ) [#f8afc2ee]
標準ライブラリーのヘッダー・ファイルは、/usr/include/ に置いてあります。



*まとめ [#d4be1714]

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

ライブラリー関数として用意されている関数については、自分で作り直さずに、ライブラリー関数を利用しましょう。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS