主函数中有语句 double a[15],k; k=fun(a); ...在主函数前定义的fun函数首部的种类

问题描述:

主函数中有语句 double a[15],k; k=fun(a); ...在主函数前定义的fun函数首部的种类
double fun(double *a)为什么是对的?
为什么double fun(double a)是错的?
1个回答 分类:综合 2014-12-02

问题解答:

我来补答
type* a 表示type类型的指针变量a,a[n]是一个数组,a是数组名,通常可以用a表示指向数组a的首元素的地址即a[0]的地址的指针,
double fun(double *a)表示函数接受一个double指针类型的变量,double fun(double a)表示函数接受一个double类型的变量,而你的定义double a[15],a是数组名,可当指针用,但是不能当double数据用
还有double fun(double *a)中的a是形式参数,它不一定要是double a[15]这个a,你用任何字母表示都可以,如double fun(double *xyz),但是你调用的时候仍然是传入a,即仍然要写k=fun(a); 而不是k=fun(xyz);
 
 
展开全文阅读
剩余:2000