c 語言 動態陣列 講解與例項

2021-10-02 02:52:13 字數 1106 閱讀 5981

靜態陣列:c語言中陣列的長度是固定的,也稱為靜態陣列,而這種限制不甚合理。

動態陣列:c++中陣列有時候不用在編譯時就知道長度,直到執行時才知道,這就是動態陣列,也就是可以動態分配長度的陣列。與靜態陣列變數區別是,動態分配的陣列空間將一直存在,直到程式顯式的釋放它為止。

定義乙個動態陣列:

int *p=new int[100];

p就是乙個動態陣列,其實動態陣列就是乙個指標,使用

new為

p分配長度。

也可以通過這種方式初始化:

int *p=new int[100]();

上面的語句等同於下面的語句:

int n=100; 

int *p=new int[n];因為n

是乙個變數,所以陣列的長度是動態的。

應用例項:

int n=100; 

int *p=new int[n];

p可以使用陣列下標為其賦值:

for(int i=0;i

上面這種方式沒有問題,但我想既然

p是乙個指標,那麼使用指標操作一樣也可以吧?

for(int i=0;i

這樣就可以了,將他們輸出:(這時指標

p又指向了最後)

p--;

for(int *p2=p-n;p2!=p;p--)

{cout<<*p<

動態空間釋放例項:

重要的是不要忘記將動態創造的空間釋放掉,語句是:

delete p; 

『[ ]』表明該指標是指向的自由儲存區的陣列,而非單個物件。如果忘記了號,將導致程式在執行時出錯。

下面是完整**:

#include

using

namespace

std;

intmain(

void){

intn=200;

int*p=

newint

[n];

for(

inti=0;i

for(

int*p0=p-n;p0!=p;p--)

{cout<<*p<

例項講解易語言陣列排序

易語言陣列排序,就是將陣列排序,這個針對的是數值型陣列,我教大家操作。1 開啟易語言新建乙個wi程式設計客棧ndows程式進入下圖介面 2 我們點選進入 編輯區 3 這個函式針對www.cppcns.com陣列 所以要先定義乙個陣列 4 我們給陣列賦值 我們輸入 a www.cppcns.com1 ...

C 動態陣列例項

一維動態陣列的例項 1 include 2 using namespace std 3int main 415 cout輸出乙個空行 16for int i 1 i n i 1720 delete arr 動態空間釋放 21 二維動態陣列的例項 1 include 2 using namespace...

C 訪問C 動態分配的陣列指標 例項講解

專案中遇到c 呼叫c 演算法庫的情況,c 內部運算結果返回矩形座標陣列 事先長度未知且不可預計 下面方法適用於訪問c 內部分配的任何結構體型別陣列。當時想當然的用ref array傳遞引數,能計算能分配,但是在c 裡只得到arr長度是1,無法訪問後續陣列item。c 介面示例 void call i...