C语言学习—一维数组—进阶理解
- 地址:我们的编程是这样的一个过程:
变量->代码->程序->内存
我们编写的每一个变量都会在计算机内存上分配地址(内存是以1个字节为单位的),只有分配了地址计算机才能找到代码并运行。 以数组为例,我们给数组进行定义的时候,内存就帮助我们分配好了地址。
上面说到我们内存是会给我们的变量随机分配地址的,当这次程序执行完成后,内存就会释放现在分配的地址,在这个程序再次被执行的时候,内存又会重新分配地址。
- 数组地址的理解:
数组的地址是连续存放的!数组的地址是连续存放的!数组的地址是连续存放的!每个元素占用的内存空间跟数组的类型有关(int型每个元素占4个字节,char型每个元素占1个字节)。
我们存放数据的时候就会从0下标开始,依次占用一个元素的位置,以int a[4]为例了,a[0] = 1;a[0]这个元素就咋占4个字节,下一个元素就再占a[1]这个位置,上图理解一下:
结论:我们这里抛出一个结论
数组的名字是数组的地址,数组第一个元素的名字,是数组首元素的地址。
验证:所以:数组地址=数组首元素的地址。验证代码如下:
#include <stdio.h>
int main