C++:字符串和指针.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C:字符串和指针

数组、字符串和指针 迄今为止,我们已经学习了所有重要的基本数据类型,对于如何在程序中执行计算和进行判断也有了基本的了解。本章将扩展前面所学的基本编程技术的应用范围,从此前使用单独的数据项扩展到处理数据项的整个集合。本章将讲述以下内容: 数组及其使用方法 如何声明和初始化不同类型的数组 如何声明和使用多维数组 指针及其使用方法 如何声明和初始化不同类型的指针 数组和指针之间的关系 引用的概念及声明方法,关于使用引用的几点初步建议 如何在本地C++程序中给变量动态分配内存 如何在CLR程序中动态分配内存 跟踪句柄和跟踪引用的概念,CLR程序中需要它们的原因 如何在C++/CLI程序中处理字符串和数组 内部指针的概念,创建和使用内部指针的方法 本章将更多地使用对象,我们还没有详细分析如何创建对象,因此即使对此一无所知也不必担心。我们将从第7章开始详细学习类和对象。 4.1 处理多个相同类型的数据值 我们已经知道如何声明和初始化那些仅容纳单项信息的各种类型的变量—— 本书称之为数据元素。我们知道如何在char类型的变量中创建一个字符,如何在short、int或long类型的变量中创建一个整数,如何在float或double类型的变量中创建一个浮点数。最容易想到的对这些技术的扩展是用单个变量名引用特定类型的多个数据元素,这样我们将能够处理更宽范围的应用问题。 在下面这个例子中,我们就需要这种技术。假设需要编写工资计算程序。为每个人的工资、应缴税款等信息使用单独命名的变量,这是一项艰巨的任务。处理此类问题的简便方法是使用某种类属名(比如employeeName)来引用员工,用其他类属名来引用与各个员工有关的数据,比如工资、应缴税款等。当然,我们还需要一种从全体员工中挑选出个别员工的方法,以及从相关的同类变量中挑选出数据的方法。这种需求随着程序中出现要处理的相似实体的集合而出现,这些实体可能是棒球运动员,也可能是战舰。自然,C++给我们提供了处理集合的方法。 4.1.1 数组 在ISO/ANSI C++中,数组是所有此类问题解决方案的基础。数组就是一组名为数组元素或简称元素的存储单元,各个存储单元可以存储相同数据类型的数据项,而我们可以用相同的变量名引用所有存储单元。工资计算程序中员工姓名就可以存储在一个数组中,各员工的工资可以存储在另一个数组中,而应缴税款可存储在第三个数组中。 数组中各个数据项用索引值进行标识;索引值就是表示数组元素编号的整数。第一个元素的编号是0,第二个是1,依此类推。我们也可以将数组元素的索引值视为相对于数组中第一个元素的偏移量。第一个元素的偏移量是0,因此其索引值是0,索引值3指的是第四个数组元素。对工资计算程序来说,我们应该这样安排那3个数组:如果某个员工的姓名存储在employeeName数组中特定索引值标识的单元,则pay和tax数组应该在相同索引值引用的数组位置存储该员工的工资和应缴税款数据。 数组的基本结构如图4-1所示。 图 4-1 图4-1height有6个元素,各元素存储不同的数值。这些数值是某个家庭中所有成员的身高(精确到英寸)。因为有6个元素,所以索引值为0~5。如果要引用某个元素,则应该先写出数组名称,然后在方括号内写上该元素的索引值。例如,height[2]将引用第三个元素。如果将索引值看作相对于第一个元素的偏移量,则很容易理解第四个元素的索引值是3。 存储各个元素所需存储单元的数量取决于元素的类型,数组的所有元素都存储在连续的内存区域中。 4.1.2 声明数组 数组的声明方法基本上与此前所看到的变量声明的方法相同,唯一区别是应该在紧跟数组名的方括号内指出数组元素的数量。例如,我们可以用下面这条声明语句,声明图4-1中的整数数组height: long height[6]; 因为每个long数值在内存中要占用4个字节,所以整个数组共需24个字节。数组长度只受运行该程序的计算机上内存总量的限制。 数组可以被声明成任意类型。例如,我们可以用下面这条语句,声明两个用来存储一组发动机的体积和功率的数组: double cubic_inches[10]; // Engine size double horsepower[10]; // Engine power output 这两个数组可存储10台发动机的体积和功率,其索引值为0~9。正如前面在其他变量的声明语句中所看到的那样,我们可以用一条语句声明多个同类型的数组,但实践中在分开的语句中声明变量往往更合适。 试一试:// Ex4_01.cpp // Calculating gas mileage #include iostream #include iomanip using std::cin;

文档评论(0)

taotao0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档