C言語でmalloc関数の使い方についてわかりやすく詳しく解説

この記事では、C言語のmalloc関数の使い方について詳しく解説します。

malloc関数を使うことで、プログラム実行中に必要なだけのメモリを動的に確保することができます。

また、動的な配列の作成や構造体の動的なメモリ確保の応用例も紹介します。

さらに、メモリリークの防止やメモリ確保の失敗への対処方法についても説明します。

初心者の方でもわかりやすく、C言語のプログラミングに役立つ内容です。

目次から探す

malloc関数とは

malloc関数は、C言語で動的にメモリを確保するための関数です。

malloc関数を使用することで、プログラム実行中に必要なだけのメモリを動的に確保することができます。

malloc関数の概要

malloc関数は、stdlib.hヘッダファイルに宣言されており、以下のような形式で使用します。


#include <stdlib.h>
void* malloc(size_t size);

malloc関数は、引数として確保したいメモリのサイズ(バイト単位)を受け取ります。

戻り値として、確保されたメモリ領域の先頭アドレスを返します。

もしメモリの確保に失敗した場合は、NULLポインタが返されます。

malloc関数の基本的な使い方

malloc関数を使用するためには、以下の手順を実行します。

  1. 必要なメモリのサイズを決定します。

例えば、int型の配列を10個分確保したい場合は、sizeof(int) * 10となります。

  1. malloc関数を呼び出し、確保したいメモリのサイズを引数として渡します。
  2. 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関数の基本的な使い方です。

メモリの確保と解放を適切に行うことで、プログラムの実行中に必要なだけのメモリを効率的に利用することができます。

1 2 3

この記事のページ一覧
  1. 現在のページ
目次から探す