一般ユーティリティ (Standard Library)
ヘッダ ファイル |
stdlib.h |
---|---|
規格 | ANSI C (C89) / C90 |
概要 | 5 つの型及び幾つかの一般ユーティリティ関数を宣言し、幾つかのマクロを定義する。 |
プラグマ
型
名前 | 機能 |
---|---|
div_t | 2 つの整数からなる構造体。div() が返す。 |
ldiv_t | 2 つの整数からなる構造体。ldiv() が返す。 |
lldiv_t | 2 つの整数からなる構造体。lldiv() が返す。 |
(size_t) | sizeof() が返す符号なし整数型。 |
(wchar_t) | ワイド文字を表現できる型。 |
マクロ
exit() 関数を呼び出すときの終了条件
名前 | 機能 |
---|---|
EXIT_FAILURE | プログラムを正常終了します。 |
EXIT_SUCCESS | プログラムを異常終了します。 |
最大値
最大値の多くは limits.h にて定義されています。
名前 | 機能 |
---|---|
MB_CUR_MAX | 現在のロケールでのマルチバイト数の最大バイト数。 MB_LEN_MAX (limits.h にて定義) を超えることはありません。 |
RAND_MAX | rand() 関数から返される最大値です。 |
その他
名前 | 機能 |
---|---|
(NULL) | 任意のデータオブジェクトポインタと互換性があるヌルポインタ定数です。 |
引数付きマクロ
関数
疑似乱数
名前 | 機能 |
---|---|
rand() | 乱数ジェネレータです。 |
srand() | 乱数ジェネレータを初期化します。 |
メモリ管理
名前 | 機能 |
---|---|
calloc() | メインメモリを割り当てます。 |
free() | 割り当てられたブロックを解放します。 |
malloc() | malloc は、メモリヒープから size バイトのブロックを割り当てます。 |
realloc() | メインメモリを再割り当てします。 |
メモリ操作関連の関数は処理系によっては alloc.h
で定義されていたりしました。
プロセス制御
名前 | 機能 |
---|---|
_Exit() 1 | プログラムの終了。終了処理を行いません。 古い処理系では _exit() で定義されている事があります。 |
abort() | プログラムを異常終了させます。 |
atexit() | 終了関数を登録します。 |
exit() | プログラムの終了。終了処理を行います。 |
system() | オペレーティング システム コマンドを実行します。 |
環境変数
名前 | 機能 |
---|---|
getenv() | システム環境から環境変数を取得します。 |
検索・ソート
名前 | 機能 |
---|---|
bsearch() | 配列のバイナリ検索を実行します。 |
qsort() | クイックソートアルゴリズムを使ってソートします。 |
整数算術演算
int | long | long long | 機能 |
---|---|---|---|
abs() | labs() | llabs() 1 | 整数の絶対値を返します。 |
div() | ldiv() | lldiv() 1 | 2 つの整数で除算を行い、その商と剰余を返します。 |
文字列から数値へ変換
int | long | long long | 機能 |
---|---|---|---|
atoi() | atol() | atoll() 1 | 文字列を整数に変換します。 要確認: strto~() 系で代替。 |
名前 | 機能 |
---|---|
atof() | 文字列を実数 (double 型) に変換します。 要確認: strto~() 系で代替。 |
ato~() 系の関数は古い処理系との互換性のために残されています。
long | unsigned long |
long long | unsigned long long |
機能 |
---|---|---|---|---|
strtol() | strtoul() | strtoll() 1 | strtoull() 1 | 文字列を指定された基数で 整数型の値に変換します。 |
double | float | long double | 機能 |
---|---|---|---|
strtod() | strtof() 1 | strtold() 1 | 文字列を実数型の値に変換します。 |
マルチバイト文字・ワイド文字操作
名前 | 機能 |
---|---|
mblen() | マルチバイト文字の長さを判定します。 |
mbstowcs() | マルチバイト文字列を wchar_t 配列に変換します。 |
mbtowc() | マルチバイト文字を wchar_t コードに変換します。 |
wcstombs() | wchar_t 配列をマルチバイト文字列に変換します。 |
wctomb() | wchar_t コードをマルチバイト文字に変換します。 |
ワイド文字用の関数が wchar.h で定義されています。
資料
- C 言語 / 標準ライブラリ / stdlib.h (Wikibooks)
- z/OS C/C++ ランタイム・ライブラリー・リファレンス stdlib.h — 標準ライブラリー関数 (IBM)
- C 言語の標準ヘッダ一覧 stdlib.h (C 言語)