knrt.net
当前位置:首页 >> C语言中调用函数的返回值,如果是数组,主函数要输出这个数组怎么实现啊 >>

C语言中调用函数的返回值,如果是数组,主函数要输出这个数组怎么实现啊

用指针,另外保存数据的变量退出函数时不得消失.例如:#include<stdio.h> int * fun(int n) { int i; static int a[100]; // 这里用static for (i=0;i<n;i++) a[i]=i; return &a[0]; } void main() { int i,n=5; int *p; // 声明指针 p = fun(n); // 返回指针 for (i=0;i<n;

1. 通过全局变量实现修改2. 通过函数的指针参数完成返回3. 通过函数的引用参数完成返回4. 也可以把数组作为参数直接在函数中修改

返回值一般只有一个 要返回一个数组 用指针吧

这个问题一个较为妥善的方法是把数组定义在主函数,再传入数组地址给自定义函数,如果你非要在自定义函数里定义也行,至于是否需要设置为static,那得看情况,因为函数退出时栈空间并不是马上被刷新,如果你能保证该栈空间在你访问前没被释放就没必要定义为static,但是保险起见定义static更好,因为你可能不知道到底该内存是不是被重新写入了数据,至于你说要返回指向指针的指针,我举个例子,int** fun(),这个就是返回一个指向指针的指针,其指向的指针指向int型,呵呵,明白了没

可以是数组 但只是数组名 没有任何意义

用相同数据类型的指针接受函数返回结果.每个指针可以合法的带一个下标使用,与一维数组的使用方法相同.

如果只有一个值要返回,那么用返回值. 比如 int fun();调用的时候 int a=fun();如果要返回数组,建议用指针传参.比如 void fun(int *a);在函数中赋值到a上,在主函数就可以直接用了.

任何函数调用实参传递给形参都是值传递单向传递,用数组名或指针作为实参传递给形参,传递的也是一个值,但这个值是一个地址.数组名就是该数组首元素的地址.

因为语法就是这样啊,函数调用直接使用其函数名即可,函数是void类型只是标识该函数没有返回值而已.

可以为指针或着说是地址. 因为对于数组来说只需要传递数组的某个地址例如传递数组a[] 的a或者任意一个地址&a[4]等

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com