トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
アラインメント指定付きで、動的にメモリ領域を確保する |
|
ヘッダ | ||
形式 |
void* aligned_alloc(size_t alignment, size_t size); |
|
引数 |
alignment |
要求するアラインメント値。実装がサポートしている大きさでなければならない。 |
size |
確保する領域の大きさを、バイト単位で指定する。この値は、引数 alignment の倍数でなければならない。 |
|
戻り値 |
確保された領域の先頭を指すポインタ。メモリ不足などの要因で失敗した場合には、ヌルポインタが返される。 |
|
詳細 |
アラインメント📘を指定できることを除いて、malloc関数と同様。 そもそも、動的メモリ割り当て📘をおこなう標準ライブラリ関数は、どんな型にも適合できるように、適切にアラインメントされたメモリアドレスを割り当てている。aligned_alloc関数は、それを超える大きさのアラインメントが必要な場合に使用する。 確保された領域が不要になったら、free関数で解放📘(システムへ返却)できる。 |
|
注意 |
システムがメモリ領域を管理するための追加の領域が必要なため、実際に割り当てられる大きさは、size を超える可能性がある。 割り当てられた領域の状態は不定である。 |
|
使用例 |
実行結果:
|
|
関連 | ||
解説章 | 第37章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |