動的配列をどのように定義しますか
動的配列は、C 言語ではポインターと動的メモリアロケーション関数を使用することで定義できます。一般的な方法は以下のとおりです。
- malloc 関数は、必要に応じて指定したサイズのメモリ領域を確保し、このメモリ領域へのポインタを返す。
int *arr; // 定义指向整型的指针
int size = 10; // 数组大小
arr = (int *)malloc(size * sizeof(int)); // 分配大小为size的整型数组
- 使用calloc函数分配内存空间。calloc函数与malloc函数类似,但它还会初始化分配的内存空间为0。
int *arr; // 定义指向整型的指针
int size = 10; // 数组大小
arr = (int *)calloc(size, sizeof(int)); // 分配大小为size的整型数组并初始化为0
- 確保割り当てられたメモリのサイズが必要なサイズに変更できるrealloc関数の活用
int *arr; // 定义指向整型的指针
int size = 10; // 数组初始大小
arr = (int *)malloc(size * sizeof(int)); // 分配大小为size的整型数组
int new_size = 20; // 新的数组大小
arr = (int *)realloc(arr, new_size * sizeof(int)); // 调整数组大小为new_size
動的配列を使用した後は、解放されずにメモリが使用されることを避けるために、使用後にfree関数を使用して確保されたメモリ領域を解放することが重要です。
free(arr); // 释放动态分配的内存空间