C 定義變長陣列方法(兩種方法)

2021-10-25 07:28:54 字數 608 閱讀 6420

這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做:

#include

using

namespace std;

intmain()

注意int p=new int[len];這一句,你不能這樣做:

int p[len];

c++編譯器會報錯說len的大小不能確定,因為用這種形式宣告陣列,陣列的大小需要在編譯時確定。而且這樣也不行:

int p=new int[len];

編譯器會說不能把int型轉化為int型,因為用new開闢了一段記憶體空間後會返回這段記憶體的首位址,所以要把這個位址賦給乙個指標,所以要用int *p=new int[len];

當然使用c++標準模版庫(stl)中的vector(向量)也可以實現變長陣列:

#include

#include

using

namespace std;

intmain()

return0;

}

C 定義變長陣列方法(兩種方法)

c 定義變長陣列方法 這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做 includeusing namespace std int main 注意int p new int len 這一句,你不能這樣做 int...

LCA兩種方法

lca least common ancestors 即最近公共祖先,是指在有根樹中,找出某兩個結點u和v最近的公共祖先。模板題 anc i j 表示第i個點的2 j的祖先的標號 整個過程就是兩個點往上跳到同一深度,再一起往上跳找到lca include include using namespac...

post get 兩種方法

a.定義乙個get函式 get url,headers none defget url,headers none return urlrequests url,headers headers 內部可以呼叫urlrequests 如果不寫headers headers會被預設為none b.定義乙個p...