在C語言中,要使用動態數組,需要使用指針和動態內存分配的函數來實現。下面是建立和使用動態數組的步驟:
聲明一個指針變量來存儲動態數組的地址:例如,int* arr;
使用動態內存分配的函數malloc()
來為數組分配內存空間,并將返回的指針賦給指針變量:例如,arr = (int*)malloc(n * sizeof(int));
這里的n
是數組的大小,sizeof(int)
是每個元素的大小。
使用指針來訪問和操作數組的元素。例如,arr[0] = 10;
可以給數組的第一個元素賦值為10。
使用完數組后,記得使用free()
函數釋放內存空間,以防止內存泄漏:例如,free(arr);
下面是一個完整的示例代碼:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i;
int* arr;
printf("請輸入數組的大小:");
scanf("%d", &n);
// 分配內存空間
arr = (int*)malloc(n * sizeof(int));
// 給數組賦值
for(i = 0; i < n; i++) {
arr[i] = i + 1;
}
// 輸出數組元素
printf("數組元素為:");
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 釋放內存空間
free(arr);
return 0;
}
以上代碼會先從用戶輸入數組的大小,然后動態分配內存空間,給數組賦值,然后輸出數組的元素,最后釋放內存空間。