memrootじしょ
英和翻訳
malloc
memcpy_s
strncpy_s
snprintf
C standard library
malloc
/ˈmælək/
マロック
1.
動的メモリ割り当て
C言語において、プログラムの実行時に必要なメモリ領域をヒープから動的に確保するための標準ライブラリ関数です。指定されたサイズのメモリブロックを確保し、その先頭アドレスを返します。確保に失敗した場合はNULLを返します。
int
*arr
=
(int
*)malloc(5
*
sizeof(int));
(5つのint型を格納する配列分のメモリを確保します。)
int *arr
整数型へのポインタ変数`arr`を宣言します。
(int *)
`malloc`が返す`void*`型を`int*`型にキャストします。
malloc(...)
メモリを動的に確保するための関数呼び出しです。
5 * sizeof(int)
5つの`int`型データが占めるバイト数を計算し、確保するメモリのサイズを指定します。
if
(ptr
==
NULL)
{
/*
handle
error
*/
}
(もしメモリ確保に失敗したら、エラーを処理します。)
if (ptr == NULL)
`ptr`が`NULL`(メモリ確保失敗)であるかどうかを確認する条件文です。
{ /* handle error */ }
メモリ確保が失敗した場合に実行するエラー処理のコードブロックです。
char
*buffer
=
(char
*)malloc(100);
(100バイトの文字バッファ用のメモリを確保します。)
char *buffer
文字型へのポインタ変数`buffer`を宣言します。
(char *)
`malloc`が返す`void*`型を`char*`型にキャストします。
malloc(100)
100バイトのメモリを確保する関数呼び出しです。
関連
calloc
realloc
free
memory allocation
heap
pointer
dynamic memory