数组、指针和字符串(一)------C++学习笔记

数组

1.数组越界在程序的什么阶段发生错误?

定义数组啊a[10],使用for(int i=0;i<=10;i++)循环进赋值,在程序的编译和连接阶段不会发生错误,在程序运行时会出错,这就是典型的数组越界错误。

2.数组元素的存储问题

数组元素在内存中是顺序、连续存储的。也就意味着一个数组在内存中占用的是一段连续的存储单元,并且在逻辑上相邻的两个元素在物理地址上也是相邻的。如char a[10],其中a[1]与a[2]的地址分别为0x3000,0x3001。

3.多维数组的存放方式

存放方式依然采用顺序存放的方式,可以将下标看成一个计数器,右边为低位,左边为高位,每位都在上下界之间变化。

下界=0;上界=下标表达式的值减1。

如t[2][2][2]----->t[0][0][0],t[0][0][1],t[0][1][0],t[0][1][1],t[1][0][0],t[1][0][1],t[1][1][0],t[1][1][1]

4.数组作为函数参数

使用数组名传递数据时,传递的是地址。为保持实参和形参匹配,实参的元素个数应该多余或等于形参的元素个数。在被调函数中对形参数组元素值进行改变,主调函数中实参素组的相应元素值也会改变。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值