XtMalloc(3Xt)

名前
XtMalloc, XtCalloc, XtRealloc, XtFree, XtNew, XtNewString - メモリ管理用関数

書式
char *XtMalloc(size);
      Cardinal size;

char *XtCalloc(num, size);
      Cardinal num;
      Cardinal size;

char *XtRealloc(ptr, num);
      char *ptr;
      Cardinal num;

void XtFree(ptr);
      char *ptr;

type *XtNew(type);
      type;

String XtNewString(string);
      String string;

引き数

num バイト数(XtRealloc)又は配列要素の数(XtCalloc)を指定する。

ptr 解放される古い記憶領域へのポインタ(XtFree)、又は記憶領域ブロックへのポ インタ(XtRealloc)を指定する。

size
    バイト単位で表した配列要素の大きさ(XtCalloc)、又は要求するバイト数 (XtMalloc)を指定する。

string
    既に宣言されている文字列を指定する。

type
    既に宣言されているデータ型を指定する。

説明
関数は指定したバイトサイズの記憶領域ブロックへのポインタを返す。 もし新しいブロックを割り当てることのできる十分なメモリがない場合、 は を呼び出す。

関数は指定された大きさの配列要素を同じく指定された数だけのメモリを割り 当て、その領域を 0 で初期化する。 もし新しいブロックを割り当てることのできる十分なメモリがない場合、 は を呼び出す。

関数は記憶領域ブロックの大きさを変更する（記憶領域は移動される可能性が ある）。 次に新しいブロックに古い内容（又は新しいブロックの大きさに入る内容）を 複写し、古いブロックを解放する。 もし新しいブロックを割り当てることのできる十分なメモリがない場合、 は を呼び出す。 また ptr が NULL ならば は古い内容を複写せずに新しい記憶領域を割り当てる。 つまり単に を呼ぶだけである。

関数は記憶領域を解放し、再利用できるようにする。 もし ptr が NULL ならば は何もせずに終了する。

は割り当てられた記憶領域へのポインタを返す。 もし新しいブロックを割り当てることのできる十分なメモリがない場合、 は を呼び出す。 は次の指定された引き数で を呼び出す簡易マクロである：

((type *) XtMalloc((unsigned) sizeof(type))

は割り当てられた記憶領域へのポインタを返す。 もし新しいブロックを割り当てることのできる十分なメモリがない場合、 は を呼び出す。 は次の指定された引き数で を呼び出す簡易マクロである：

(strcpy(XtMalloc((unsigned) strlen(str) + 1), str))

関連項目
X ツールキット イントリンシクス - C 言語インターフェイス
Xlib - C 言語 X インターフェイス