在使用陣列時,需要事先確定陣列的大小。
因為要求int array[n]括號裡的n必須為常量,於是天真的認為在定義n的時候寫上乙個const int n就可以解決問題了,經過嘗試失敗。
上網一搜,有很多方法,比如使用結構,使用鍊錶等。
下面給出一種簡單的方法,使用malloc函式。
int n;
double* shuzu = (double*)malloc(n*sizeof(double));//定義動態陣列 相當於 double shuzu[n]
為了說明給出的方法和普通的陣列是一樣的,給出示例程式。
#include#includeusing namespace std;
int main()
{ double* a = (double*)malloc(3*sizeof(double));
a[0] = 5.22;
a[1] = 2.11;
a[2] = 1.55;
for(int i=0; i<3; i++)
cout程式的結果如下圖:
定義動態陣列
開闢一維陣列m 8 int t new int m 開闢一維動態陣列,相當於t m int t new int 8 開闢乙個空間為8的整型陣列空間 int t new int 8 開闢了乙個整型且賦值為8的空間 int t new int 開闢單變數位址空間,即將int型別的空間位址賦給指標t 銷毀...
C語言 用malloc 建立動態陣列
因本人才疏學淺,見識淺薄,有不當之處望指正,謝謝!當我們建立陣列時,不允許在程式執行時選擇陣列的大小和分配記憶體。如果n是乙個整形變數。double a n c99以前不允許,n是變數 但是,可以 a double malloc n sizeof double 允許 關於記憶體分配。所有程式都必須預...
佇列陣列學習(不使用malloc)
在下這廂有禮了 平台 linux gcc編譯 描述 佇列陣列,不使用malloc分配空間,通過陣列分配空間去做佇列描述。結果如圖 queue.h檔案 定義結構體和佇列 ifndef zwqueue h included define zwqueue h included define bool in...