其實這個很簡單
其實就是開闢了乙個空間給陣列,
這個陣列的空間大小取決於你給的數的大小。
用到頭檔案#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...