扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
把自定义函数中的数组创建为static存储性质,并把首地址及大小返回给主函数。在自定义函数中创建数组时用动态方法建立的堆上,把首地址及大小返回给主函数,在主函数中使用完毕后释放。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网页空间、营销软件、网站建设、文县网站维护、网站推广。
可以将主函数中的数组以形参的形式传入自定义函数即可。
通过全局变量来传递数组。声明全局变量用于存储子函数中的数组,此时可以在全局变量作用域中读取调用子函数的数组。
void min(int a[],int x) //int x是用来标记传过来的数组的长度(即a数组指向的那个数组的长度)。
1、EG:void sortl(float b[],int n)/*其中函数参数有两个:一个是数组,形参的形式是b[],它在调用是接受具体数组的首地址;另一个形参是N,它在调用时数组元素的具体个数。
2、数组名代表着整个数组的地址,如果一维数组的名字作为函数实参,传递的是整个数组,即形参数组和实参数组完全相同,是存放在同一存储空间的同一个数组。这样形参数组 修改时,实参数组也同时被修改了。
3、C/C++中,二维数组的第一维的每一个元素都是一维数组。所以,用指向一维数组的指针或用第一维维数空缺的二维数组作为函数的形式参数都能达到目的。
4、在C语言中可以用二维数组作为实参或者形参。
在函数定义的时候,形参int arr[]不是表示某个元素的值,而是告诉编译器第一个参数是一个数组指针,可以接收实参传过来的数组地址。实际上以上定义等价于下面的定义。
之所以会发生错误,是因为你没有弄清楚参数传递的机制,即传值调用不改变原参数的值。
就是说,数组做形参时,你可以无视中括号内的数字(程序运行时,也不管中括号内的数字)。所以,定义函数语句:float average( float array[10])与写成:float average(float array[])完全相同。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流