相同的数据类型集中、邻近存储,顺序访问,可以全用静态数组、动态数组、array类和vector类来实现。区别如下:
![748c0103557a785c827be0aad503a046.png](https://i-blog.csdnimg.cn/blog_migrate/71a6bb43414c7c8bae52e0809dc1c0fb.jpeg)
1 静态数组
静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问。
缺点:大小在编译时就已经确定,在运行时无法修改。
#include using namespace std;int foo [] = {16, 2, 77, 40, 12071};int n, result=0;int main (){ for ( n=0 ; n<5 ; ++n ) { result += foo[n]; } cout << result; return 0;}//12206
2 动态数组
动态数组由一系列位置连续的,任意数量相同类型的元素组成。
优点:其元素个数可在程序运行时改变。
#include #include using namespace std;int main (){ int i,n; int * p; cout << "How many numbers would you like to type? "; cin >> i; p= new (nothrow) int[i]; if (p == nullptr) cout << "Error: memory could not be allocated"; else { for (n=0; n> p[n]; } cout << "You have entered: "; for (n=0; n