企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 概述 1. 数组是一组连续的内存单元,这些内存单元具有相同的大小。 2. 数组名称是指向数组第一个单元的 const类型的指针的别名。 3. 指针变量没有自动的默认初始化值。 4. 指针索引是从基地址开始的相对偏移量。 5. 只有当用来访问数组的成员,且访问是位于数组范围之内时,数组下标才是有效的。 7. C++标准不保证编译器会捕获到将指针用于非数组的下标运算符的企图 8. **将数组传递给函数和从函数返回,是通过指针进行的** 9. 可以将算术运算符+,-,++和一运用到数组指针,只要其结果是有效的。 10. 在数组环境之外进行的指针算术运算结果是未定义的。 11. C++标准不保证编译器能够捕获误用指针运算的企图。 12. 当为数组分配内存时,动态数组的每一个元素都会被默认初始化。 13. 为了正确地解分配这个动态数组,需要使用语法: ``` delete[] pt ``` ## 声明数组 ``` int a[10]; int b[]={1,3,5,7}; ``` ## 获取元素 ``` int b[]={1,3,5,7}; // 两种等价 cout<<b[2]<<endl; //5 cout<<b cout<<*(b+2)<<endl; // 相当于在b得指针上在加+2 就是三个元素得地址,在 ``` ## 截取数组 ``` int b[]={1,3,5,7}; int *c=(b+1); // 从b第二个元素开始 cout<<b[0]<<endl; //1 cout<<c[0]<<endl; //3 cout<<b[3]<<endl; //7 cout<<c[2]<<endl; //7 ```