网站首页 > 文章中心 > 其它

c语言新建函数引用数组

作者:小编 更新时间:2023-10-15 18:15:37 浏览量:257人看过

C语言中自定义的函数中有数组,应该如何运用该函数

方法

将该数组定义为全局变量,即:

int

g_arr;

void

fun()

{...}

main()

fun(int

arr[])

{

arr[10];

fun(arr);

}

用C语言写了一个输入一个一维数组的函数,如何在后来写的函数中调用该数组?

在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语言语句)

C语言 c++ 在自定义函数中创建的数组 怎么在主函数中使用?

把自定义函数中的数组创建为static存储性质,并把首地址及大小返回给主函数.

在自定义函数中创建数组时用动态方法建立的堆上,把首地址及大小返回给主函数,在主函数中使用完毕后释放.

C语言中怎样定义一个函数里面有数组然后在主函数中调用这个数组

你可以返回s数组的首地址,函数可以这么定义:

int* f1(int a[], int n, int k)

....//你的代码

return s;

C语言中自定义函数样引用一个数组该什么办?

调用时:

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语言新建函数引用数组相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章