- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 C++ 基 础 本章主要介绍 C++对C语言的某些改变和扩展,是非面向对象方面的特征,包括: ? C++的数据类型 ? 类型转换 ? const常量、引用、指针及函数参数 ? 函数原型、默认参数、函数重载 ? 内联函数 ? 名字空间及其应用 ? 变量作用域和生存期 ? 数据输入/输出 2.1 C++对C语言数据类型的扩展 1、C数据类型在C++中继续可用 2、C++对C的结构、枚举、联合进行了扩展 C:结构名不是类型 struct {……} some_struct; struct some_struct struct_var; typedef struct some_struct struct_type; C++:结构名为类型 struct {……} struct_name; struct_name struct_var; 2.2 局部变量说明 C局部变量的定义 在语句块内可执行语句之前 C++局部变量的定义 可在语句块内任何语句可以出现的地方 好处 方便:使用时才定义 易读:类型信息就近获取 2.3 const常量 1、常量定义 C #define 常量名称 常量 C++ const 类型 常量名称 = 常量; 2.3 const常量 2、常量说明 ① 常量一经定义就不能修改,例如: const int i = 5; // 定义常量i i = 10; // 错误,修改常量 i++; // 错误,修改常量 ② const常量必须在定义时初始化,例如: const int n; //错误,常量n未被初始化 ③ 在C++中,表达式可以出现在常量定义语句中。如果定义的常量是整型,则类型关键字int可以省略。 int j,k=9; //L1 const i1=10+k+6; //L2 const int i1=10+k+6; //L3 2.4 指针 本节主要介绍C++的指针及C++动态内存分配运算符和回收运算符new、delete 指针与常量之间的关系,及0指针和void指针 2.4.1 指针概念的回顾 1、C++内存分配 静态分配(静态变量) 编译器在处理源代码时为变量分配内存,其效率较高,但缺少灵活性(要求程序执行之前就知道变量所需的内存类型和数量) 动态分配(动态变量) 程序执行时调用运行时刻库函数来分配变量的内存。 两者的区别 静态变量是有名字的变量,可以通过名字对它所代表的内存进行操作;动态变量是没有名字的内存变量,只能通过指针进行操作。 静态变量的分配和释放由编译器自动处理,动态变量的分配与释放必须由程序员控制。 2.4.1 指针概念的回顾 2、动态内存分配---指针 对类型T,T*是“到T的指针”,即一个类型为T*的变量,能存一个类型T的对象的地址 char c; c=‘a’; char p* p=c; 2.4.1 指针概念的回顾 指针是一个复杂的概念,它能够指向(保存)不同类型变量的内存地址。例如: int *pi; // pi是指向int的指针 int **pc; // pc是指向int指针的指针 int *pA[10]; // pA是指向int的指针数组 int (*f)(int,char); // f是指向具有两个参数的函数的指针 int *f(int) // f是一个函数,返回一个指向int的指针 2.4.2 指针与0 0指针 0是一个整数,在C语言和C++中可以把它转换成为任意数据类型,如整型、浮点型、指针等。可以把0赋值给不同类型的变量。 没有任何变量会被分配到地址0,所以0就可以作为一个指针常量,表明指针当时没有指向任何变量。比如,对于前面的指针定义,以下赋值是正确的: pc=0; pA=0; f=0; 0与NULL 2.4.3 指针与const 1. 指向常量的指针 const int *pa; int const *pa; 性质:“不能靠解引用改变它指向的对象的值”,以此保护它所指向的常量的常量性。 *pa =d; // 不可行(d是已经声明过的整型) 但指针本身的值是可变的: pa= d; // 可行(d是已经声明过的整型) 2.4.3 指针与const 2.指针常量 int *const pa =n; “常量指针”即指针本身的值是常量,但“能靠解引用改变它指向的对象的值
您可能关注的文档
最近下载
- 【课件】探秘膨松剂课件.pptx VIP
- 江南嘉捷自动人行道图纸pcs-200s(双PLC).pdf
- 考点05 赠序文言文-上(核心考点精讲精练)高考语文一轮复习考点帮(上海专用)(含答案解析).docx VIP
- 中华人民共和国民营经济促进法.pptx VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 航拍中国3纪录片观后感1500字4篇.pdf VIP
- 施工方案-土方开挖回填(专项).doc VIP
- GB/T 12668.7201-2019 调速电气传动系统 第7-201部分.pdf
- 临床重点专科申报书申报书-麻醉科.doc VIP
- 乐学英语写作_第二版_ 课件 Chapter_1、2 句子写作、段落写作.pptx
文档评论(0)