1、数组

1、数组是存放在连续内存空间上的相同类型数据的集合;

2、数组可以方便的通过下标索引的方式获取到下标下对应的数据;

3、数组下标都是从0开始的;

4、数组内存空间的地址是连续的;

5、因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址,例如删除下标为3的元素,需要对下标为3的元素后面的所有元素都要做移动操作;

6、如果使用C++的话,要注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组;

7、数组的存储空间是连续的,数组的元素是不能删的,只能覆盖,遇到需要移除的元素就将它后面的所有元素向前移动一位;

8、C++二维数组在内存的空间地址是连续的,地址为16进制,可以看出二维数组地址是连续一条线的,0x7ffee4065820 与 0x7ffee4065824 差了一个4,就是4个字节,因为这是一个int型的数组,所以两个相邻数组元素地址差4个字节,0x7ffee4065828 与 0x7ffee406582c 也是差了4个字节,在16进制里8 + 4 = c,c就是12;

1 0x7ffee4065820 0x7ffee4065824 0x7ffee4065828
2 0x7ffee406582c 0x7ffee4065830 0x7ffee4065834
 1 void test_arr() {
 2     int array[2][3] = {
 3         {0, 1, 2},
 4         {3, 4, 5}
 5     };
 6     cout << &array[0][0] << " " << &array[0][1] << " " << &array[0][2] << endl;
 7     cout << &array[1][0] << " " << &array[1][1] << " " << &array[1][2] << endl;
 8 }
 9 
10 int main() {
11     test_arr();
12 }

 

posted @ 2023-06-28 20:41  放开那段代码,让我来!  阅读(86)  评论(0编辑  收藏  举报