1.数组是通过下标来访问的,下标是从0开始的。
2.数组的大小可以通过计算得到。
当一个函数有两个数组时
例如:需要打印ar,则设置n=10(ar数组的个数)。需要打印br,则设置n=5。
但是此时函数是死的。比如在设置了n=10后,想打印br,系统认定n=10,后五位则为随机生产,依旧会生成一个十位的数组,这和我们需要打印的不一样。所以采取一个办法,不把n值定的死板。
令 for(int i=0;j<n;++i)
n=size of(ar )/size(ar)【0】
如图:
思考:是否可以把求n的过程放在函数内部,从而减少一个求参数的过程。
如图:
直接调用了数组ar,然后在函数内部计算N.
运行结果:
由运行结果得出:这样是错误的。
无论N的个数为多少,它只打印第一个。
原因:
因为传递过去空间可能太大,编译器处于对效率的考虑。传递的并不是一个数组,而是首元素的地址。
即相当于:
所以没办法求出真实的数组的元素个数。
【当把数组作为函数的参数进行传递时,数组会退化成指针】
3.一维数组在内存中的存储
数组空间在内存里是反向存储的。
每个数字占了四个字节,【取决去前面的函数类型】,所以每个数字间也就相差了四个字节。
数组在底层的数组是连续存储的。