1、數(shù)組的長度是常量
int aa[20] = {};
bool bb[30] = {};
2、數(shù)組的長度是變量
比如:int length =20;
int aa[length] = {};
這樣的話c++他mlgb的就會報(bào)錯(cuò),那該如何使用 變量作為 長度來初始化c++的數(shù)組呢?
unsignedchar*bytes=(unsignedchar*)malloc(capacity*sizeof(unsignedchar));
這段代碼就等同于java或csharp中的
int capacity = 20;
byte[] bytes = new byte[capacity];
網(wǎng)上還有些sb說用list或者vector來替代這種方式。其實(shí)他們沒有搞清楚概念就是:
1、使用變量創(chuàng)建的數(shù)組時(shí),數(shù)組的長度是未知的,但是數(shù)組創(chuàng)建后,長度就固定不變了
2、使用vector/list等容器來做數(shù)組,是在容器創(chuàng)建之后,容器的長度仍然是可變的。
這兩種方式由著本質(zhì)的區(qū)別。sb們不要沒看懂問題就在這里瞎嚷嚷。