C言語で動的配列を初期化する方法は何ですか?

C言語で動的配列を初期化する方法は、malloc関数を使用してメモリを割り当て、配列の先頭アドレスをポインタ変数に割り当てることです。例のコードは以下の通りです:

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

int main() {
    int size;
    printf("请输入动态数组的大小:");
    scanf("%d", &size);

    int *arr = (int*)malloc(size * sizeof(int));
    if (arr == NULL) {
        printf("内存分配失败\n");
        return 1;
    }

    // 初始化数组
    for (int i = 0; i < size; i++) {
        arr[i] = i + 1;
    }

    // 输出数组元素
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // 释放动态数组内存
    free(arr);

    return 0;
}

上記のコードでは、まずscanf関数を使ってダイナミック配列のサイズをユーザーから入力します。次に、malloc関数を使用して、size * sizeof(int)のメモリスペースを割り当て、その先頭アドレスをint型のポインタ変数arrに代入します。その後、forループを使用して配列を初期化し、要素の値をインデックス+1に設定します。最後に、free関数を使ってダイナミック配列のメモリスペースを解放します。

bannerAds