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