C语言cannot convert parameter 1 from 'int (*)[3]' to 'int *[]'

void MaxandMin(int *arr[])
void main()
int data2[3]={23,21,18};
MaxandMin(&data2);
报错为cannot convert parameter 1 from 'int (*)[3]' to 'int *[]'
该怎么改,要用指针。

基本上使用data2的时候 data2就已经是代表指针了, 再加&, 就有点多馀了.
data2因为是array, 所以他实际是一个指针, 指到连续位置上的第一个int

变量接收端, 写法其实重复了.
(int *) - 指到int指针
arr[] - 阵列

基本上, 接收只需要用其中一 个, 即可接收data2. (不是接收&data2)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-11
int data2[3]={23,21,18};

这个数据类型和函数MaxandMin需要参数类型不一致,data2要是int 指针类型数据才行,
比如这样int *data2[3]={NULL};调用是MaxandMin(data2);就行了,注意int *data2[3]={NULL}中的变量要是int 型指针,我这边为了方便就用null了。有问题再联系我

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网