C++中的数组

来源:互联网 发布:太极软件 怎么样 编辑:程序博客网 时间:2024/05/21 12:31

C++不允许声明一个引用数组(即由引用组成的数组),

可以声名一个指针数组:

int  *iap[] = {&i, &j, &k};

 

不能用一个数组来初始化一个数组:

int  ia1[] = ia;(非法)

 

下面是把一个数组拷贝到另一个数组中去的例子:

  1 #include<iostream>
  2 #include<string>
  3 using namespace std;
  4
  5 const int array_size = 7;
  6 int ia1[] = { 0, 1, 2, 3, 4, 5, 6 };
  7 int main()
  8 {
  9     int ia2[array_size];
 10     for( int i = 0; i < array_size; ++i ){
 11         ia2[i] = ia1[i];
 12     }
 13     for( int i = 0; i < array_size; ++i ){
 14         cout << ia2[i] << " " ;
 15     }
 16     cout << endl;
 17     return 0;
 18 }
编译:$ g++ array_copy.c

运行:$./a.out

结果:0 1 2 3 4 5 6
但是用户必须清楚,C++没有提供编译时刻或运行时刻对数组下标的范围检查。除了程
序员自己注意细节,并彻底地测试自己的程序之外,没有别的办法可防止数组越界。能够通
过编译并执行的程序仍然存在致命的错误,这不是不可能的。

 

这里的数组、以及数组与指针的关系与C中的一样的!