1、数组的长度是常量
int aa[20] = {};
bool bb[30] = {};
2、数组的长度是变量
比如:int length =20;
int aa[length] = {};
这样的话c++他mlgb的就会报错,那该如何使用 变量作为 长度来初始化c++的数组呢?
unsignedchar*bytes=(unsignedchar*)malloc(capacity*sizeof(unsignedchar));
这段代码就等同于java或csharp中的
int capacity = 20;
byte[] bytes = new byte[capacity];
网上还有些sb说用list或者vector来替代这种方式。其实他们没有搞清楚概念就是:
1、使用变量创建的数组时,数组的长度是未知的,但是数组创建后,长度就固定不变了
2、使用vector/list等容器来做数组,是在容器创建之后,容器的长度仍然是可变的。
这两种方式由着本质的区别。sb们不要没看懂问题就在这里瞎嚷嚷。