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()は確保したメモリ領域を解放します。
動的割り当てを行ったメモリは、使い終わったら開放し、メモリリークを起こさないよう注意しよう。