代码随想录二刷 | 数组 | 数组理论基础
数组是存放在连续内存空间上的相同类型数据的集合。可以通过下标索引的方式获取到下标对应的数据。
数组的下标都是从0开始的
数组内存空间的地址是连续的
因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。
例如删除下标为3的元素,需要对下标为3的元素后面的所有元素都要做移动操作。
C++中需要注意 vector
和 array
的区别,vector
的底层实现是array
,严格来讲vector
是容器,不是数组。
数组的元素是不能删的,只能覆盖。
C++中二维数组是连续分布的。测试代码如下:
void test_arr() {
int array[2][3] = {
{0, 1, 2},
{3, 4, 5}
};
cout << &array[0][0] << " " << &array[0][1] << " " << &array[0][2] << endl;
cout << &array[1][0] << " " << &array[1][1] << " " << &array[1][2] << endl;
}
int main() {
test_arr();
}
测试结果如图:
可以看到二维数组的地址是连续的。