C 動態陣列

2021-09-25 08:31:23 字數 1306 閱讀 6826

開發工具與關鍵技術: visual studio / c++
下面我就舉了個簡單的例子來進行對動態陣列的演示:

方法定義部分:

//結構體

struct dynamic_array

;dynamic_arrayinit_array();//初始化

void push_array(dynamic_array arr, int value); //插入

void print_array(dynamic_array* arr); //輸出

定義結構體dynamic_array,裡面包含的有int*型別的padd作為資料位址,int型別的size作用於計算陣列的元素個數,而int型別的capacity則是用來表示陣列容量,下面定義了3個方法,分別用於初始化,插入元素和輸出陣列,首先初始化就是初始化三個變數,插入則是負責把元素插入到陣列裡並帶了兩個引數,乙個是指標,另乙個是int型別的變數放傳過來需要插入的元素。輸出則只是帶了乙個指標的引數。

方法實現部分:

//初始化

dynamic_arrayinit_array()

初始化部分,為指標myarray分配乙個記憶體,用這個指標來進行對資料的初始化,並為陣列也分配了乙個記憶體,返回指標myarray。

void push_array(dynamic_array* arr, int value) //插入

arr->padd[arr->size] = value;

arr->size++;

}插入操作,首先拿陣列容量對比長度判斷陣列容量是否夠大,如果不夠就新增多乙個陣列其容量為原來陣列的兩倍,並通過拷貝函式把原來的資料拷到新的容器再把原來的容器釋放掉,如果容器足夠大,就直接把元素插入到動態陣列裡面。

void print_array(dynamic_array arr) //輸出

cout << endl;

}輸出方法,通過for迴圈來進行把陣列逐個遍歷輸出。

main主函式部分:

void main()

print_array(array); //輸出

}首先呼叫初始化的方法,通過結構體進行建立動態陣列指標,指標指向方法init_array(),再通過for迴圈進行呼叫插入方法push_array()進行資料的插入。引數為指標和插入的資料變數i。後面再呼叫了方法print_array(array)進行輸出。

輸出結果:

由以上**功能,輸出新增了1到15的順序的陣列,所以輸出也為1-15的順序資料。

C 動態陣列

原 1.變長一維陣列 這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做 1 檔名 array01.cpp 2 include 3 using namespace std 4 int main 5 注意int p ...

c 動態陣列

在建立動態陣列的過程中我們要遵循乙個原則,那就是在建立的時候從外層往裡層,逐層建立 而釋放的時候從裡層往外層,逐層釋放。這個話你讀了可能理解並不深刻,不過不要急,接下來我們看看兩段 一維動態陣列的建立 include include int main int n1,i int array print...

c 動態陣列

這學期學c 晚上有道程式設計題,比較坑,感覺要用動態陣列做,但實際就是要用靜態陣列,因為動態的反而更難了。用動態陣列的時候,發現自己只會建立一維的 int a new int 5 然後二維陣列怎麼創都忘記了,還是那句話 不寫 很容易 忘記。然後下面就給出幾個例子吧 cpp view plain co...