C初阶——数组1

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.一维数组在内存中的存储

 

 

数组空间在内存里是反向存储的。

 每个数字占了四个字节,【取决去前面的函数类型】,所以每个数字间也就相差了四个字节。

数组在底层的数组是连续存储的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值