「C言語/標準ライブラリ/stdlib.h」の版間の差分

削除された内容 追加された内容
「疑似乱数生成関数」「記憶域管理関数」を追記
150 行
=== rand関数 ===
<ref>『JISX3010:2003』p.225「7.20.2.1 rand関数」</ref>
*形式
<pre>
#include <stdlib.h>
int rand(void);
</pre>
*引数
:なし
*返却値
:疑似乱数整数
*機能
:rand関数とは、0以上RAND_MAX以下の範囲の疑似乱数整数列を計算する関数である。
*例
<pre>
 
</pre>
=== srand関数 ===
<ref>『JISX3010:2003』p.225「7.20.2.2 srand関数」</ref>
*形式
<pre>
#include <stdlib.h>
void srand(unsigned int seed);
</pre>
*引数
:seed 疑似乱数列の種
*返却値
:なし
*機能
:srand関数とは、rand関数の呼び出しで返す新しい疑似乱数列の種として、seedを使用する関数である。
:srand関数を同じ種の値で呼んだ場合、rand関数は同じ疑似乱数列を生成する。
:rand関数をsrand関数の呼び出しより前に読んだ場合、srandが最初に種の値を1として呼ばれた時と同じ列を生成する。
*例
<pre>
 
</pre>
 
== 記憶域管理関数 ==
158 ⟶ 189行目:
=== calloc関数 ===
<ref>『JISX3010:2003』p.226「7.20.3.1 calloc関数」</ref>
*形式
<pre>
#include <stdlib.h>
void *calloc(size_t nmemb, size_t size);
</pre>
*引数
:nmenb 個数
:size サイズ
*返却値
:割り付けられた領域の先頭へのポインタ。領域の割り付けができなかったときは、空ポインタ。
*機能
:calloc関数とは、大きさがsizeであるオブジェクトのnmemb個の配列の領域を割り付ける関数である。
:その領域のすべてのビットは、0で初期化する。
*例
<pre>
 
</pre>
=== free関数 ===
<ref>『JISX3010:2003』p.226「7.20.3.2 free関数」</ref>
*形式
<pre>
#include <stdlib.h>
void free(void *ptr);
</pre>
*引数
:ptr
*返却値
:なし
*機能
:free関数とは、ptrが指す領域を解放し、その後の割り付けに使用できるようにする関数である。
:ptrが空ポインタの場合、何もしない。
:それ以外の場合で、実引数がcalloc関数、malloc関数若しくはrealloc関数によって以前に返されたポインタと一致しないとき、又はその領域がfree若しくはreallocの呼び出しによって解放されているとき、その動作は未定義である。
*例
<pre>
 
</pre>
=== malloc関数 ===
<ref>『JISX3010:2003』p.226「7.20.3.3 malloc関数」</ref>
*形式
<pre>
#include <stdlib.h>
void *malloc(size_t size);
</pre>
*引数
:size サイズ
*返却値
:割り付けられた領域の先頭へのポインタ。領域の割り付けができなかったときは、空ポインタ。
*機能
:malloc関数とは、大きさがsizeであるオブジェクトの領域を割り付ける関数である。
:割り付けられたオブジェクトの値は不定である。
*例
<pre>
 
</pre>
=== realloc関数 ===
<ref>『JISX3010:2003』p.226「7.20.3.4 realloc関数」</ref>
*形式
<pre>
#include <stdlib.h>
void *realloc(void *ptr, size_t size);
</pre>
*引数
:ptr
:size
*返却値
:
*機能
:realloc関数とは、ptrが指す古いオブジェクトを解放し、大きさがsizeである新しいオブジェクトへのポインタを返す関数である。
:新しいオブジェクトの内容は、新しいオブジェクトの大きさと古いオブジェクトの大きさのうち小さいほうの大きさまでの部分で、顔胞する前の古いオブジェクトの内容と同じである。
:古いオブジェクトの大きさを超えた部分の新しいオブジェクトのバイトの値は不定である。
 
:ptrが空ポインタの時、realloc関数は、指定された大きさでのmalloc関数と同じ動作をする。
:それ以外の場合で、ptrがcalloc関数、malloc関数若しくはrealloc関数によって以前に返されたポインタと一致しないとき、又はその領域がfree若しくはreallocの呼び出しによって解放されているとき、その動作は未定義である。
:新しいオブジェクトに対する記憶域の割り付けができなかった場合、古いオブジェクトは解放されずその値は変化しない。
*例
<pre>
 
</pre>
 
== 環境に関連する関数 ==
169 ⟶ 272行目:
=== abort関数 ===
<ref>『JISX3010:2003』p.227「7.20.4.1 abort関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== atexit関数 ===
<ref>『JISX3010:2003』p.227「7.20.4.2 atexit関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== exit関数 ===
<ref>『JISX3010:2003』p.227「7.20.4.3 exit関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== _Exit関数 ===
<ref>『JISX3010:2003』p.228「7.20.4.4 _Exit関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== getenv関数 ===
<ref>『JISX3010:2003』p.228「7.20.4.5 getenv関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== system関数 ===
<ref>『JISX3010:2003』p.228「7.20.4.6 system関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
 
== 探索及び整列ユーティリティ ==
184 ⟶ 371行目:
=== bsearch関数 ===
<ref>『JISX3010:2003』p.229「7.20.5.1 bsearch関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== qsort関数 ===
<ref>『JISX3010:2003』p.230「7.20.5.2 qsort関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
 
== 整数算術関数 ==
191 ⟶ 406行目:
=== abs, labs, 及びllabs関数 ===
<ref>『JISX3010:2003』p.230「7.20.6.1 abs, labs, 及びllabs関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== div, ldiv 及びlldiv関数 ===
<ref>『JISX3010:2003』p.230「7.20.6.2 div, ldiv, 及びlldiv関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
 
== 多バイト文字・ワイド文字変換関数 ==
198 ⟶ 441行目:
=== mblen関数 ===
<ref>『JISX3010:2003』p.231「7.20.7.1 mblen関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== mbtowc関数 ===
<ref>『JISX3010:2003』p.231「7.20.7.2 mbtowc関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== wctomb関数 ===
<ref>『JISX3010:2003』p.232「7.20.7.3 wctomb関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
 
== 多バイト文字列・ワイド文字列変換関数 ==
207 ⟶ 492行目:
=== mbstowcs関数 ===
<ref>『JISX3010:2003』p.232「7.20.8.1 mbstowcs関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
=== wcstombs関数 ===
<ref>『JISX3010:2003』p.233「7.20.8.2 wcstombs関数」</ref>
*形式
<pre>
 
</pre>
*引数
:
*返却値
:
*機能
:
*例
<pre>
 
</pre>
 
== 脚注 ==