汉扬编程 C语言入门 (引用作为函数形参)C++|用指针、引用作为函数的输入(形参初始化为实参)、输出

(引用作为函数形参)C++|用指针、引用作为函数的输入(形参初始化为实参)、输出

函数的形参可以是指针、引用或普通变量,相应的,函数调用时要用指针值、引用值、普通变量值将形参要初始化化为实参。

函数返回值的基本原则:

I 不要返回局部自动变量的地址;II 可以返回动态创建的堆内存的变量;III 可以返回局部静态变量的地址;直接看实例:

#include <iostream>using std::cout;using std::endl;double* treble(double); // Function prototypeint main(){ double num = 5.0; // Test value double* ptr = NULL; // Pointer to returned value ptr = treble(num); cout << endl << \”Three times num = \” << 3.0*num; cout << endl << \”Result = \” << *ptr; // Display 3*num delete ptr; cout << endl; std::cin.get(); return 0;}// Function to treble a value – mark 1double* treble(double data){ //double result = 0; //不要返回局部自动变量的地址 //static double result = 0; //可以返回局部静态变量的地址 //result = 3.0*data; //return &result; double* result = new double; //可以返回动态创建的堆内存的变量 *result = 3.0*data; return result;}output:

Three times num = 15Result = 15可以从函数中返回一个左值引用。

// Returning a reference#include <iostream>#include <iomanip>using std::cout;using std::endl;using std::setw; double& lowest(double values[], int length); // Function prototype int main(){ double data[] = { 3.0, 10.0, 1.5, 15.0, 2.7, 23.0, 4.5, 12.0, 6.8, 13.5, 2.1, 14.0 }; int len = 12 ; // Number of elements for(int i=0; i<len; i++) cout << setw(6) << data[i]; lowest(data, len) = 6.9; // Change lowest to 6.9 lowest(data, len) = 7.9; // Change lowest to 7.9 cout << endl; for(i=0; i<len; i++) cout << setw(6) << data[i]; cout << endl; std::cin.get(); return 0;} // Function returning a referencedouble& lowest(double a[], int len){ int j = 0; // Index of lowest element for (int i =1; i < len; i++) if(a[j] > a[i]) // Test for a lower value… j = i; // …if so update j return a[j]; // Return reference to lowest element}输出:

3 10 1.5 15 2.7 23 4.5 12 6.8 13.5 2.1 14 3 10 6.9 15 2.7 23 4.5 12 6.8 13.5 7.9 14-End-

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6107.html

为何说c加加是一门最难啃的编程语言 看这种达内怎么分析

C语言求解一元二次方程(简单版)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部