C言語で動的配列をどのように定義しますか?
C言語では、動的配列を定義するにはポインタを使用し、malloc関数を使ってメモリ空間を動的に割り当てます。以下はサンプルコードです:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 动态数组的大小
int *arr; // 动态数组的指针
printf("请输入动态数组的大小:");
scanf("%d", &n);
// 动态分配内存空间
arr = (int *) malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败!\n");
return 1;
}
// 输入动态数组的元素
for (int i = 0; i < n; i++) {
printf("请输入第%d个元素:", i + 1);
scanf("%d", &arr[i]);
}
// 输出动态数组的元素
printf("动态数组的元素为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 释放动态数组的内存空间
free(arr);
return 0;
}
最初に、scanf関数を使用して動的配列のサイズを取得し、malloc関数を使用して十分なメモリ空間を割り当てます。次に、forループを使用して動的配列の要素を入力し、別のforループを使用して動的配列の要素を出力します。最後に、free関数を使用して動的配列のメモリ空間を解放します。