授業/C言語基礎/ライブラリー のバックアップ(No.2)


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

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

stdio

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

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

主な関数 (stdio)

関数名機能
printf標準出力への出力
scanf標準入力からの入力
fflushバッファーのフラッシュ

主なマクロ (stdio)

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

stdlib

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

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

関数 (stdlib)

関数名機能
atoi文字列をint型に変換する
atof文字列をdouble型に変換する
rand擬似乱数を生成する
srand乱数のシードを設定する
exitプログラムを終了する

マクロ (stdlib)

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

time

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

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

主な関数 (time)

関数名機能
time現在の時刻を取得する

主なマクロ (time)

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

string

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

主な関数 (string)

関数名機能
strcmp文字列の比較
strcpy文字列のコピー
strlen文字列の長さ

主なマクロ (string)

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

math

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

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

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

luna% gcc -lm math.c

主な関数

関数名機能
cos余弦(三角関数)
sin正弦(三角関数)
tan正接(三角関数)
exp指数関数
log自然対数
log10常用対数
round四捨五入
ceil切り上げ
floor切り捨て

主なマクロ

マクロ名機能
INFINITY無限大

ライブラリーの使用例

/*
 *  指数関数の値を求めて出力する
 */
#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

まとめ

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

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

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS