在C語言中,動態數組可以通過指針和內存分配函數來定義。
首先,需要聲明一個指針變量來指向動態數組的起始地址。然后,使用內存分配函數(如malloc、calloc等)來為動態數組分配內存空間,并將返回的地址賦值給指針變量。
以下是一個示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
int* dynamicArray; // 聲明一個指針變量
int size;
printf("請輸入數組大小:");
scanf("%d", &size);
// 分配內存空間
dynamicArray = (int*)malloc(size * sizeof(int));
// 判斷內存分配是否成功
if (dynamicArray == NULL) {
printf("內存分配失敗\n");
return 1;
}
// 使用動態數組
for (int i = 0; i < size; i++) {
dynamicArray[i] = i;
printf("%d ", dynamicArray[i]);
}
// 釋放內存空間
free(dynamicArray);
return 0;
}
在上述示例中,用戶輸入一個整數作為數組的大小。然后,通過malloc函數分配了一個由整數類型組成的動態數組,并將其地址賦值給指針變量dynamicArray。接下來,可以使用動態數組進行各種操作。最后,通過free函數釋放動態數組所占用的內存空間。
需要注意的是,在使用完動態數組后,務必使用free函數釋放內存空間,以防止內存泄漏。