EN JA
ALLOCA(3)
ALLOCA(3) FreeBSD Library Functions Manual ALLOCA(3)

名称

allocaメモリ割り付け関数

ライブラリ

Standard C Library (libc, -lc)

書式

#include < stdlib.h>

void *
alloca( size_t size);

解説

alloca() 関数は、呼び出し側のスタックフレーム内に size バイトの空間を割り付けます。この一時的な空間は、返り時に自動的に解放されます。

戻り値

alloca() 関数は、割り付けられた空間の始めのポインタを返します。

歴史

alloca() 関数は、 Version 32V AT&T UNIX で登場しました。

バグ

alloca() 関数は、マシンとコンパイラ依存です。その使用は、推奨されません。

alloca() 関数は、返されたポインタがメモリの有効で使用可能なブロックを指すことを保証することができないので、少し安全でありません。行われた割り付けは、スタックの境界を越えるかもしれないし、さらにメモリ中の他のオブジェクトに深く入り込んでいくかもしれません、そして alloca() は、そのようなエラーを判断することができません。大きな制限のない割り付けでは、 alloca() を避けてください。

September 5, 2006 FreeBSD