c语言自定义函数声明

蓝色高亮的地方,应该是double*还是double*[],一直搞不清楚... 蓝色高亮的地方,应该是double*还是double*[],一直搞不清楚 展开
 我来答
风若远去何人留
2019-05-17 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450108
专业C/C++软件开发

向TA提问 私信TA
展开全部
取决于你要传递的实际类型
如果你要传递一维数组或者一维指针,那么double*或者double[]没有区别
参数用数组时,会自动转变成对应指针
如果是二维数组,就必须用数组形式或者数组指针形式
比如double [3][4]
可以就写double[3][4]
也可以double[][4]
也可以double(*)[4]
但是不能写成double**
更多追问追答
追问
调用时&x[0]是数组首地址还是第一个元素的地址
追答
这俩是一个东西
对于一维数组,数组名和第一个元素的地址,以及数组首地址,这三个是等价的,不管是类型 还是值。
x 和&x[0] 没有区别
透彻且犀利灬才子8760
2019-05-13 · TA获得超过4697个赞
知道大有可为答主
回答量:7285
采纳率:75%
帮助的人:736万
展开全部
声明嘛表示有这么个函数了,定义就是具体实现了,举个例子: 函数声明: int fun(int a, int b); 函数定义: int fun(int a,int b) { int c; c=a+b; return c; } 声明就象是定义的头部,比较简略,函数是用来调用的,如果函数定义部写到调用的位置后面,执行到调用位置,后面根本没执行就找不到了,当然报错了,就要在前面加声明,表示有这个函数,反之先写函数体,后调用声明就用不了,不在同一源文件,道理也是如此,写的够简单明白的了吧,累死我了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2019-05-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6423万
展开全部
形式参数重名了——double*和double[]作为形式参数类型时是一回事,所以编译不过。但double*和double*[]不是一回事,且没有double*[]这种写法。
更多追问追答
追问
调用时&x[0]是数组首地址还是第一个元素的地址
追答
也是“首地址”,也是“第一个元素的地址”——这二者是一回事啊,有什么区别?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
流慕飞金0Y
2019-05-17
知道答主
回答量:45
采纳率:0%
帮助的人:3.1万
展开全部
double*说明形参是指针类型,或数组也可以使用
追问
调用时&x[0]是数组首地址还是第一个元素的地址
追答
第一个元素地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式