使用malloc動態定義陣列

2021-07-10 20:08:00 字數 699 閱讀 2155

在使用陣列時,需要事先確定陣列的大小。

因為要求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程式的結果如下圖:

歡迎討論[email protected]

定義動態陣列

開闢一維陣列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...