1,函数的基本知识
C++对于返回值的类型有一定的限制:不能是数组,但可以使其他任何类型,甚至可以使结构和对象。
有趣的是,虽然数组不可以作为返回对象,但是数组可以作为结构或对象组成部分来返回。
2,函数参数和按值传递
cin.get();//读取所有输入的字符,包括空格和换行符。
cin>> ;//跳过空格和换行符读取。
3,函数和数组
int arr[32];
int sum_arr(int arr[],int n);//参数arr是一个指针,而不是一个数组。
int sum_arr(int *arr,int n); //仅用于函数头,函数原型中 int *arr 跟 int arr[]的含义相同
恒等式:
arr[i] == *(arr+i); //值
&arr[i] == arr+i; //地址
4,数组名和指针对应的好处?
节省赋值整个数组所需的时间和内存
使用原始数据增加了破坏数据的风险
5,为什么需要传递数组长度?
不能通过sizeof(arr) 计算数组的长度。原因是sizeof(arr)只是指针变量的值。
6,重要的问题:在C语言中“&”的妙用
在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”
例子:
7,指针和const
1)指针指向一个常量对象:int age=39;
const int *pt=&age;
防止使用该指针来修改所指向的值。 不能用(*pt)++修改变量的值。但可以通过修改 age的值来更改 指针指向的值
pt可以指向另一个变量。
2)指针本身声明为常量:int *const pt;
pt可以用来修改值,pt不能指向其他变量。
【注意】C++禁止将const的地址赋给非const指针。
常量不能作为形参传递给非常量函数。
8,函数和C-风格字符串
1)字符串作为参数来传递,实际传递的是字符串的第一个字符的地址。
2)字符串内置结束符“/0”而字符数组没有
3)函数无法返回字符串,但可以返回字符串的地址。
9,函数和结构、String对象
1)函数可以返回结构,但是结构名只是名称,而不像数组名代表地址。要想获取地址只能使用地址操作符"&"
2)String 对象采用 getline(cin,str[i]);实例:
10,函数指针
1)原理:将函数的地址当做参数传递给相应函数
2)测试源码:
11,总结
1)默认情况下,C++函数按值传递参数。意味着形参是新的变量,他们被初始化为函数调用所提供的值。因此C++通过使用拷贝,保护了原始数据的完整性。
2)使用函数的三个步骤:定义函数、提供原型、调用函数
3)*"tianshuai"表示的含义:t //"tianshuai"被解析为字符数组第一个元素的地址。而加上*表示取的一个元素的值
"tianshuai"[2] 表示第三个元素 a //理由同上
分享到:
相关推荐
7. 第七章函数:介绍函数的定义、调用,参数传递(按值、按引用、按指针),以及函数重载和递归。 8. 第八章标准IO库:介绍输入输出流,包括`iostream`库中的`cin`和`cout`,以及格式控制技巧。 9. 第九章顺序容器...
《C++ Primer中文版》是一本为初学者设计的C++编程教材,旨在帮助读者深入理解和掌握C++语言。这本书的高清版本提供了清晰的文本和图表,使得阅读体验更佳,尤其适合长时间学习和查阅。目录的存在使得学习者能够快速...
《C++ Primer》第五版是C++领域一本非常权威的教材,由Stanley B. Lippman、Josée Lajoie和Barbara E. Moo编著。该书是按照C++11标准编写的,它涵盖了C++语言的核心特性,包括数据类型、运算符、控制结构、函数、类...
6. **第七章答案**:这部分内容可能会涵盖继承和多态,这是面向对象编程的核心特性。解答中可能涉及基类和派生类的关系,虚函数的使用,以及如何通过指针或引用来调用派生类的方法,实现动态绑定。 这些习题解答...
《C++ Primer 习题解答(第4版)》是一本深入C++编程语言的实践指导书籍,由Lippman, Lajoie, 和 Moo三位专家编写。这本习题解答是针对C++ Primer(第四版)教材的,旨在帮助读者巩固和深化对C++的理解。在学习C++的...
标题《c++primer第五版习题答案(第19章)》和描述《c++primer第五版中文版课后答案(第19章)pdf格式,真正的c++primer习题集(第五版),用手机拍的,但是每个字都能看的很清楚》透露出的IT知识点主要围绕《C++ ...
第七章“函数”介绍了函数的定义、调用、参数传递和返回值。习题解答会涵盖函数模板、重载函数、递归函数等高级话题。 第八章“标准IO库”深入讲解了iostream库,包括输入输出流对象的使用、格式控制和错误处理。...
《C++ Primer》第四版是C++编程领域的一本经典教材,由Lippman, Lajoie, and Moo三位作者合著。这本书深入浅出地介绍了C++语言的基础知识、中级概念以及高级特性,旨在帮助读者掌握现代C++编程技术。源代码文件包含...
《C++ Primer》是有名的C++编程教材,其第五版(5th Edition)深入浅出地介绍了C++语言的基础知识以及C++11新标准的特性。这本书由Lippman、Lajoie和 Moo三位作者共同编写,是C++初学者和进阶者的重要参考书籍。 1....
从提供的文件信息中,我们可以提炼出一系列与C++编程语言相关的知识点。以下是这些知识点的详细说明: 1. C++程序结构:C++程序通常由两类文件组成,即头文件和源文件。头文件通常用于声明接口,如类、函数原型等,...
《C++ Primer 第四版》是著名的C++编程语言教程,由Stanley B. Lippman、Josée Lajoie和Barbara E. Moo三位作者共同撰写。该书自出版以来,已成为广大程序员学习C++的必备书籍。第四版对前三版的内容进行了彻底的...
以上就是C++ Primer Plus第六版第二章和第三章部分编程练习所涵盖的关键知识点。随着学习的深入,你将会接触到更复杂的概念,如数组、结构体、类、指针、文件操作等,这些都是C++编程的基础。不断实践和理解这些概念...
《C++ Primer Plus》是C++编程领域里一本经典的教程,涵盖了从基础语法到高级特性的广泛内容。从第七章到第十三章,这涵盖了类(classes)、对象(objects)、继承(inheritance)、多态(polymorphism)、模板...
本资源为C++ Primer Plus第6版中文版编程练习答案,涵盖了C++基础知识的多个方面,包括基本语法、数据类型、函数、输入输出等。 在第二章中,主要介绍了C++的基本语法和数据类型。其中,ex2.1展示了如何使用C++输出...
这些在《C++ Primer Plus(第6版)》的第二章和第三章中的编程练习中得到了体现。让我们详细探讨一下这些练习涉及的知识点。 1. **基本输出与输入**:练习2.1展示了如何使用`iostream`库中的`cout`进行输出操作,...
在《C++ Primer Plus 第6版》中,读者会学习到变量、数据类型、运算符、流程控制、函数等基本元素。 2. **类与对象**:C++的核心在于类的定义和对象的创建。类是一种数据结构,用于封装数据和操作数据的方法。对象...
第七章介绍了函数的概念和使用,讲解了函数的定义、函数的调用、函数的返回值等,提供了相关的编程练习题和答案,帮助读者了解如何使用函数来编写模块化的程序。第八章继续深入讲解了函数的使用,包括函数的重载、...
此外,描述中提及的“真正的C++primer习题集”,这可能表明该习题集是针对教材内容设计的,目的是帮助学生消化和练习书中的理论知识。通过解决这些习题,学生可以加深对C++语言特性的理解,包括类和对象、动态内存...