方法
将该数组定义为全局变量,即:
int
g_arr;
void
fun()
{...}
main()
fun(int
arr[])
{
arr[10];
fun(arr);
}
在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组.
在大多数情况下,一维数组和一维指针是可以通用的.
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回.如出错,返回空指针NULL.
代码可以写成如下形式:
int*int_array_create(int n)//参数n为数组元素个数
int*r;
if(nlt;=0)return NULL;//参数错误
r=(int*)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度.
return r;//返回得到的整型数组的指针.
扩展资料:
return是C++的关键字,它提供了终止函数执行的一种方式.当return语句提供了一个值时,这个值就成为函数的返回值.
说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.
很多人甚至市面上的一些书籍,都使用了void main(),其实这是错误的.C/C++中从来没有定义过void main().
C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着The definition void main(){/*...*/}is not and never has been C++,nor has it even been C.(void main()
从来就不存在于C++或者C).下面我分别说一下C和C++标准中对main函数的定义.
①.、C
int main(void)
int main(int argc,char*argv[])
当然,我们也可以做一点小小的改动.例如:char*argv[]可以写成char**argv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则.
如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char*argv[]).
main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如操作系统).
int main()
在C和C++中,不接收任何参数也不返回任何信息的函数原型为"void foo(void);".可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void).然而这是错误的!main函数的返回值应该定义为int类型,C和C++标准中都是这样规定的.
main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出,否则代表程序异常退出.下面我们在winxp环境下做一个小实验.首先编译下面的程序:
return 0;
然后打开附件里的"命令提示符",在命令行里运行刚才编译好的可执行文件,然后输入"echo%ERRORLEVEL%",回车,就可以看到程序的返回值为0.
假设刚才编译好的文件是a.exe,如果输入"adir",则会列出当前目录下的文件夹和文件.但是如果改成"return-1",或者别的非0值,重新编译后输入"adir",则dir不会执行.
因为的含义是:如果前面的程序正常退出,则继续执行后面的程序,否则不执行.也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序.这就是int main的好处.
如果你有兴趣,也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行"adir",看看会出现什么情况,想想为什么会出现那样的情况.顺便提一下,如果输入a||dir的话,则表示如果a异常退出,则执行dir.
参考资料:
百度百科——return(C语言语句)
把自定义函数中的数组创建为static存储性质,并把首地址及大小返回给主函数.
在自定义函数中创建数组时用动态方法建立的堆上,把首地址及大小返回给主函数,在主函数中使用完毕后释放.
你可以返回s数组的首地址,函数可以这么定义:
int* f1(int a[], int n, int k)
....//你的代码
return s;
调用时:
sum=fun1(a[N]);
printf("sum=%d\n",sum);
定义中:
int fun1(int a[N],int i)
int s=0;
for(i=0;iN;i++)
s=s+a[i];
return(s);
注意定义的函数int fun1(int a[N],int i),在调用函数的时候语法是sum=fun1(int a[N],int i);错误在于调用函数时()内的参数应该和定义时一样
以上就是土嘎嘎小编为大家整理的c语言新建函数引用数组相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!