设为首页 加入收藏

TOP

3.4.5 数组边界
2013-10-07 14:43:59 来源: 作者: 【 】 浏览:64
Tags:3.4.5 边界

3.4.5  数组边界

之前已经介绍过,索引数组时要小心。因为数组的大小是固定的,所以可以创建一个整型常量存储数组的大小。程序的开头部分就采取了这种做法:

  1. const int MAX_ITEMS = 10

下面代码在给主人公添加物品之前使用MAX_ITEMS进行数组保护:
  1. if (numItems < MAX_ITEMS)  
  2. {  
  3. inventory[numItems++] = "healing potion";  
  4. }  
  5. else  
  6. {  
  7. cout << "You have too many items and can’t carry another.";  
  8. }  

这段代码首先检测numItems是否小于MAX_ITEMS。如果小于,则可以安全地把numItems当作索引号使用,并赋给数组一个新的string对象。在本例中,numItems为3,所以字符串"healing potion"赋给了数组的位置3。如果不满足小于条件,则显示消息"You have too many items and can't carry another."。

那么,如果使用数组边界以外的元素会怎样?这要视情况而定,因为这是在使用计算机内存中未知的部分。最坏的情况是,如果试图给数组边界外的元素赋值,将导致程序行为不可预测,甚至程序崩溃。

可以在使用索引号之前对其进行测试,以确保它是合法的数组位置。这种做法叫做边界检查。如果要使用的索引可能不合法,那么边界检查是必不可少的。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.6 使用多维数组 下一篇3.7 Word Jumble程序简介

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: