Looking for c Answers? Try Ask4KnowledgeBase
Looking for c Keywords? Try Ask4Keywords

C Languageメモリ管理


前書き

動的に割り当てられたメモリを管理するために、標準Cライブラリは関数malloc()calloc()realloc()realloc()free()ます。 C99以降では、 aligned_alloc()もあります。システムによっては、 alloca()も用意されています。

構文

  • void * aligned_alloc(size_t alignment、size_t size); / * C11以降のみ* /
  • void * calloc(size_t nelements、size_t size);
  • void free(void * ptr);
  • void * malloc(size_t size);
  • void * realloc(void * ptr、size_t size);
  • void * alloca(size_t size); / *標準ではなく、ポータブルではない、危険なalloca.hから。 * /

パラメーター

説明
サイズ( mallocrealloc 、およびaligned_allocメモリの合計サイズ(バイト単位)。 aligned_alloc 、サイズは整列の整数倍でなければなりません。
サイズ( calloc各要素のサイズ
ニレメンツ要素の数
ptr 以前にmalloccallocreallocまたはaligned_allocによって返された割り当て済みメモリへのポインタ
アライメント割り当てられたメモリの配置

備考

C11

aligned_alloc()は、C11以降でのみ定義されています。

POSIXに基づくシステムなどのシステムは、整列したメモリ( posix_memalign() )を割り当てる他の方法を提供し、その他のメモリ管理オプション( mmap() )も備えています。

メモリ管理 関連する例