数组的一些介绍与注意点

一、数组名是指针常量,这个指针常量保存数组首元素的地址

对数组名取地址是数组的地址

二、[  ] == *(  )

 

三、对于整型一维数组a来说:

          a : 数组名,表示指针常量,保存数组首元素的地址

          &a:代表数组的地址     对数组名取地址 == 数组的地址

          *(&a) == a     对移位数组的地址取值 == 一维数组首元素的地址

 

四、对于二维数组来说,不能省略列,可以省略行,因为列确定步长

     

     a + i :第i+1个一维数组的地址

     *(a+i):第i+1个一维数组的首元素的地址

     *(a+i)+j:第i+1个一维数组的第j+1个元素的地址

     *(*(a+i)+j):第i+1个一维数组的第j+1个元素的值

 

五、对于三维数组来说:

     &a:三维数组的地址

     a:三维数组的数组名,也就是首个二维数组的地址

     *a: 首个二维数组的首个一维数组的地址

     **a:首个二维数组的首个一维数组的首元素的地址

     ***a:首个二维数组的首个一维数组的首元素的值

 

六、int (*pa)[3];

     pa = &a;     一维数组当函数形参被转换成一维指针

  传二维数组名,用一维数组指针接

 

七、C99下允许动态数组(用变量指定数组长度),一般不用(C88则不允许)

八、发现段错误 首先检查有无野指针 ,然后查有无对0地址进行操作,最后查scanf有没有取地址

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值