C言語でヒープメモリのサイズをどのように設定するか

動的メモリー領域の大きさは、C言語のmalloc関数を使用した動的なメモリー割り当てによって設定可能であり、割り当てたバイト数を指定することで設定されます。

例えば、以下のコードは100個の整数(つまり400バイト)のヒープメモリー領域を動的に確保する方法を示しています。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int *ptr;
    int size = 100;
    
    // 动态分配100个整数的内存空间
    ptr = (int*)malloc(size * sizeof(int));
    
    if (ptr == NULL) {
        printf("内存分配失败\n");
        return -1;
    }
    
    printf("堆内存大小:%d 字节\n", size * sizeof(int));
    
    // 使用完堆内存后,需要释放
    free(ptr);
    
    return 0;
}

malloc()によるメモリ領域の確保は、引数に指定されたバイト数のメモリ領域を確保し、その領域の先頭アドレスを指すポインタを返します。本コードでは100個の整数値を格納できるメモリ領域確保します。 sizeof(int)により整数型のバイト数を取得し、確保するメモリ領域のサイズを計算します。free()は確保したメモリ領域を解放します。

動的割り当てを行ったメモリは、使い終わったら開放し、メモリリークを起こさないよう注意しよう。

bannerAds