日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
realloc |
第 1 引数がポイントしている領域のサイズを,第 2 引数で指定されたバイト数に変更します。これらの関数は AST リエントラントです。
#include <stdlib.h>関数バリアント realloc関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための _realloc32と _realloc64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。void *realloc (void *ptr, size_t size);
ptr
割り当て済み領域をポイントするポインタか,あるいは NULL。size
割り当て済み領域の新しいサイズ。
ptr が NULL ポインタである場合, realloc関数の動作は malloc関数と同じです。領域の内容は,古いサイズと新しいサイズのうちの小さい方までは変更されません。 ANSI C 標準は次のように述べています。「新しいサイズが古いサイズよりも大きい場合,新しく割り当てられるメモリ部分の値は不定である」。古い実装との互換性のために, HP C は新しく割り当てられたメモリを 0 に初期化します。
効率を高めるために,以前の実際の割り当ては,要求されたサイズよりも大きいサイズで行われた可能性があります。割り当てが mallocで行われた場合,前に要求された割り当てと実際の割り当ての間のメモリ部分の値は不定です。割り当てが callocで行われた場合,そのメモリは 0 に初期化されています。アプリケーションが, reallocがメモリを 0 に初期化することに依存している場合には,最初の割り当てに mallocではなく callocを使用するようにしてください。一度に割り当てられる最大メモリ量は 0xFFFFD000 に制限されています。
free, cfree, calloc,および mallocも参照してください。
x 領域のアドレス。クォドワード (Alpha only) またはオクタワード (Integrity only) にアラインされています。アドレスが返されるのは,十分なスペースを再割り当てするために,エリアを新しいアドレスに移動しなくてはならないことがあるためです。エリアが移動される場合,以前に占有されていたスペースは解放されます。 NULL スペースの再割り当てを行えないことを示します (十分なスペースがなかった場合など)。
目次 | 索引 |
|