200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > this指针作为函数参数_C++以指针作为函数参数(学习笔记:第6章 10)

this指针作为函数参数_C++以指针作为函数参数(学习笔记:第6章 10)

时间:2021-02-01 15:45:22

相关推荐

this指针作为函数参数_C++以指针作为函数参数(学习笔记:第6章 10)

以指针作为函数参数[1]

为什么需要用指针做参数?

需要数据双向传递时(引用也可以达到此效果)用指针作为函数的参数,可以使被调函数通过形参指针存取主调函数中实参指针指向的数据,实现数据的双向传递。(实际上传指针也是引用传递的一种,将主调函数中已经定义好的变量地址放在指针里面传给被调函数,这样在被调用的函数体中,可以通过传过来的指针

直接操作主调函数中的数据,这样就实现了数据的双向传递)需要传递一组数据,只传首地址运行效率比较高实参是数组名时形参可以是指针

例6-10 读入三个浮点数,将整数部分和小数部分分别输出

#include <iostream>using namespace std;void splitFloat(float x, int *intPart, float *fracPart) {*intPart = static_cast<int>(x); //取x的整数部分*fracPart = x - *intPart; //取x的小数部分}int main() {cout << "Enter 3 float point numbers:" << endl;for(int i = 0; i < 3; i++) {float x, f;int n;cin >> x;splitFloat(x, &n, &f);//变量地址作为实参cout << "Integer Part = " << n << " Fraction Part = " << f << endl;}return 0;}

记住浮点数在机器内部是近似存储的,千万不要在程序中去比较两个浮点数是否相等,理论上应该是相等的,但实际上在计算机内部它可能就差这么点。

所以如果要比较两个浮点数是否相等,可以采用让它们两个相减,如果相减的差充分小(比如小于10的负多少次方)满足精度要求就认为它们相等。

参考

^/courses/course-v1:TsinghuaX+00740043X__T2+sp/courseware/d4eb7d174ba04a4da6282bcae197892c/b7924d7fabf8450bbe97639cb4255213/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。