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関数を使用して動的配列のメモリ空間を解放します。

bannerAds