第一行代码,左右分别有个内存空间进行存储
当右侧开辟内存空间(可以存储3个元素)后,为了访问元素的方便,将索引也给出来,值默认为0
这里采用001来标识右侧这个内存空间,001(假设内存地址为001,以实际为准)称为内存地址。
然后将右侧的东西赋值给左侧,即左侧的东西指向右侧,即arr要指向右侧的内存空间
其实就是arr指向001(001为右侧空间的内存地址),将001赋值给arr,到这里,第一行代码解释结束。
当访问数组元素时,先通过地址去找到对应的内存区域,再根据索引找到对应的元素
简略点讲,可以认为arr[2]指向内存地址为001的第三个元素
其中,左侧的叫做栈内存,右侧的叫做堆内存
验证:
验证:
指向同一内存地址的两个数组,一个数组发生改变,另一个也会变
本文作者为BUG之神,转载请注明。