一維動態陣列和二維動態陣列(C語言版)

2021-10-24 02:28:44 字數 1259 閱讀 9546

其實這個很簡單

其實就是開闢了乙個空間給陣列,

這個陣列的空間大小取決於你給的數的大小。

用到頭檔案#include

和函式malloc()

#include

#include

intmain()

typedef

struct

haha;

這是很簡單的結構體定義方法,學資料結構離不開這個的。

haha 就是結構體的名字,類似於int的用法。

同樣是用結構體先定義乙個空間的頭指標:

haha *ha;
對比一下上邊的就明白,其實結構體也很好理解。

下面話不多說,給大家附上完整簡單**:

#include

#include

typedef

struct

haha;

intmain()

for(i=

0;i)printf

("%d"

,ha[i]

.id)

;free

(ha)

;}

第一種方法:

int n,m;

scanf

("%d%d"

,&n,

&m);

int*

*a=(

int**)

malloc

(sizeof

(int*)

*n);

for(i=

0;i)a[i]=(

int*

)malloc

(sizeof

(int)*

(m+1))

;

上面是二維動態陣列的一種建立方法。

也是一種雙層指標的應用。

第二種方法:

int

(*p)

[m]=

(int(*

)[m]

)malloc

(sizeof

(int

)* m * n)

;

這是用陣列指標來實現的方法;

這種方法相比第一種而言,其分配空間是連續的。

c 二維動態陣列

很多時候,我們無法得知或者不用去考慮程式在執行時需要建立多大的陣列,此時動態資料的建立就會顯得格外重要了,二維動態陣列具有很高的靈活性和實用性,廢話不多說,原始碼呈上!其中包括了一些vs記憶體檢測的語句,大家看注釋吧 include include using namespace std ifdef...

靜態二維陣列和動態二維陣列(C語言)

1 理解什麼是靜態二維陣列和動態二維陣列 靜態二維陣列 可以理解為程式中如下定義的陣列 定義乙個3行4列的靜態二維陣列 int 3 4 動態二維陣列 可以理解為程式中如下定義的陣列 定義乙個3行4列的動態二維陣列 include include define rows 3 define cols 4...

二維動態陣列

之前都是寫的小程式,一直用的靜態陣列,也沒出現問題。可是,最近碰到大型程式和工程,這時就要用動態陣列了。因為靜態陣列時儲存在棧中的,而動態陣列儲存在堆中。計算機的棧只有1m大小,而堆可以理論上達到計算機記憶體大小,可見當大型工程資料量非常大時,必須使用動態陣列了。c 的動態陣列的建立和刪除要用到ne...