malloc 返回值的类型是 void *

malloc 返回值的类型是 void *,所以在调用 malloc 时要显式地进行类型转换,将 void * 转换成所需要的指针类型。

 

 1 #include <iostream>
 2 
 3 using namespace std;
 4 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 5 //定义名为max_value的函数模板
 6 template <class T> T max_value (T a,T b) 
 7 {
 8     return ((a> b)? a: b);
 9 }
10 
11 //在main()函数中测试max_value函数模板
12 
13 int main(int argc, char** argv) {
14        //double类型数据使用max_value模板函数
15     double x = 1.2, y = 2.1;
16     cout<<"x="<<x<<"\t";
17     cout<<"y="<<y<<endl;
18     double result=max_value(x,y);
19     cout<<"max_value(x,y)="<<result<<endl;
20     cout<<"max_value(2*3.0,2+3.0)="<<max_value(2*3.0,2+3.0)<<endl;
21     cout<<"------------------"<<endl;
22 
23     //int类型数据使用max_value模板函数
24     int n= 1, m= 6;
25     cout<<"n="<<n<<"\t";
26     cout<<"m="<<m<<endl;
27     cout<<"max_value(n,m)="<<max_value(n,m)<<endl;
28     cout<<"------------------"<<endl;
29 
30     //char类型数据使用max_value模板函数
31     char ch1='A',ch2='a';
32     cout<<"ch1="<<ch1<<"\t";
33     cout<<"ch2="<<ch2<<endl;
34     cout<<"max_value(ch1,ch2)="<<max_value(ch1,ch2)<<endl;
35     cout<<"------------------"<<endl;
36 
37     //字符串数据使用max_value模板函数
38     char str1[]="abc",str2[]="ABC",*p;
39     p=max_value(str1,str2);
40     cout<<"max_value("<<str1<<","<<str2<<")="<<p<<endl;
41     return 0;
42 }

 

posted @ 2018-08-03 13:43  borter  阅读(835)  评论(0编辑  收藏  举报