C++面向对象程序设计 第1章 C++基础.pptVIP

  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面向对象程序设计第1章C基础

指针的运算符 定义指针变量的目的是,通过指针变量间接地访问变量。为此C++提供了两个指针运算符。 *:取指针值运算符。根据指针所指内存单元地址间接地访问对应存储单元,若指针变量p指向变量a,则*p运算的结果为变量a的值,即*p表示变量a的内容。 :取地址运算符。返回变量对应的存储单元地址,若a为int变量,p为int型指针变量,则p=a表示将a的存储单元地址赋给p,或者指针变量p指向变量a。 指针和数组的关系 在C++中,数组和指针密切相关,几乎可以互相使用。数组名字可以认为是常量指针,它指向存放数组第一个元素的内存地址。指针可以用于完成任何涉及数组下标的操作。 实际上,数组下标表示法在编译期间将转换为指针表示法,所以用指针方式来书写数组下标表达式可以节省编译时间。 虽然数组名和指针在引用数组元素和取得它们的地址方面可以互换,但两者有一个重要的不同点:数组名是在定义时就已分配好了内存空间的,因此,数组名是一个地址常量,在程序中不能将数组名作为变量为其赋值,而指针是一个变量,可以多次赋值 注意: new与delete 尽管指针与数组具有相似性,但两者之间是有区别的:数组在定义时就根据指定的大小分配好了内存空间,而指针只是一个变量。 利用new运算符给指针分配一片内存空间,new运算符与delete运算符一起使用,以达到直接进行动态内存分配和释放的目的。 需要注意以下几点: (1)运算符delete必须用于先前new分配的有效指针。 (2)用new也可指定分配的内存大小。 (3)new可以为数组分配内存,但当释放时,必须告诉delete数组有多少个元素。 函数 函数的定义和调用 在使用函数时,要先对函数进行定义,确定它要实现的功能。函数的使用就是调用函数的过程。在函数定义和调用中,把传递给函数的值称为实际参数,把函数内部用来接收传递给函数的值的变量称为形式参数。 1. 函数定义 C++中每一个函数的定义都是由4个部分组成的,即函数类型、函数名、函数参数表和函数体。 2. 函数的声明 函数声明消除了函数定义的位置影响。不管函数是在何处定义的,只要在调用前进行函数的声明,就可保证函数调用的合法性。虽然函数不一定在程序的开始就声明,但为了提高程序的可读性和保证简洁的程序结构,最好将主函数main放在程序的开头,而将函数声明放在主函数main之前。 3. 函数的调用 调用函数时,在函数名后跟参数(调用函数时的参数称为实际参数或实参),参数用逗号隔开。调用时,将实参中的实参值逐个代入形参,这一过程称为向函数传递参数。 全局变量和局部变量 1. 变量作用域 变量作用域是指变量的有效范围,一个变量只有在其有效范围内才能存取它的值。变量作用域有块级作用域、函数级作用域、文件级作用域和程序级作用域几个级别。 2. 局部变量 作用域在函数级和块级的变量称为局部变量,也就是说,局部变量在一个函数或块内部定义。因此,局部变量只能在定义它的函数体或块内部使用,而不能在其他函数或块内使用这个变量。 有关局部变量的说明如下: (1)main函数本身也是一个函数,因而在其内部声明的变量仍为局部变量,只能在main函数内部使用,而不能在其他函数中使用。 (2)在不同的函数中可声明具有相同变量名的局部变量,系统会自动进行识别。 (3)形参也是局部变量,其作用域在定义它的函数内。所以形参和该函数体内的变量是不能重名的。 3. 全局变量 作用域在程序级或文件级的变量称为全局变量,也就是说,全局变量是在函数外部定义和访问的。全局变量的作用域是从定义该变量的语句位置开始,直至本文件结束。因而全局变量声明后可以被很多函数使用。 有关全局变量的说明如下: (1)全局变量的作用域是从声明该变量的位置开始直到程序结束处。 (2)全局变量的作用域为函数间传递数据提供了一种新的方法。 (3)在一个函数内部,如果一个局部变量和一个全局变量重名,则在局部变量的作用域内,全局变量不起作用。 4. 变量的存储类别 变量的存储类别有两种:auto(动态)和static(静态)。其使用说明如下: (1)全局变量默认的存储类别为static,一旦定义后就分配存储空间,直到程序运行结束才释放其存储空间。 (2)局部变量默认的存储类别为auto,在遇到其定义后就分配存储空间,一旦退出其有效范围后就释放其存储空间。 (3)可以用static将局部变量的存储类别指定为static。这样局部static变量在经过不同函数调用之后,也可以保留它们原来的值。 函数的参数传递 C++中函数的参数传递分为按值传递、地址传递和引用传递几种。由于地址也是一种值,所以

文档评论(0)

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

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

1亿VIP精品文档

相关文档