この記事では、C言語のmalloc関数
の使い方について詳しく解説します。
malloc関数
を使うことで、プログラム実行中に必要なだけのメモリを動的に確保することができます。
また、動的な配列の作成や構造体の動的なメモリ確保の応用例も紹介します。
さらに、メモリリークの防止やメモリ確保の失敗への対処方法についても説明します。
初心者の方でもわかりやすく、C言語のプログラミングに役立つ内容です。
目次から探す
malloc関数とは
malloc関数
は、C言語で動的にメモリを確保するための関数です。
malloc関数
を使用することで、プログラム実行中に必要なだけのメモリを動的に確保することができます。
malloc関数の概要
malloc関数
は、stdlib.hヘッダファイルに宣言されており、以下のような形式で使用します。
#include <stdlib.h>
void* malloc(size_t size);
malloc関数
は、引数として確保したいメモリのサイズ(バイト単位)を受け取ります。
戻り値として、確保されたメモリ領域の先頭アドレスを返します。
もしメモリの確保に失敗した場合は、NULLポインタが返されます。
malloc関数の基本的な使い方
malloc関数
を使用するためには、以下の手順を実行します。
- 必要なメモリのサイズを決定します。
例えば、int型の配列を10個分確保したい場合は、sizeof(int) * 10
となります。
malloc関数
を呼び出し、確保したいメモリのサイズを引数として渡します。malloc関数
の戻り値を適切なポインタ変数に代入します。
このポインタ変数が、確保されたメモリ領域の先頭アドレスを保持します。
以下に、malloc関数
の基本的な使い方の例を示します。
#include <stdio.h>
#include <stdlib.h>
int main() {
int* array;
int size = 10;
// メモリの確保
array = (int*)malloc(sizeof(int) * size);
// メモリの使用
for (int i = 0; i < size; i++) {
array[i] = i + 1;
}
// 結果の表示
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
// メモリの解放
free(array);
return 0;
}
上記の例では、int型の配列を10個分確保し、1から10までの値を代入しています。
最後に、確保したメモリを解放するために、free関数
を使用しています。
以上がmalloc関数
の基本的な使い方です。
メモリの確保と解放を適切に行うことで、プログラムの実行中に必要なだけのメモリを効率的に利用することができます。
次のページmalloc関数の応用例