C/C++:一个程序中的主函数需要调用多个子程序中的函数,并保存其中一个子函数生成数组中的数据,怎么办

一个程序中主函数需要调用多个子程序中的函数(其中子程序中的函数也互相调用),需要将一个子程序中的运行过程中生成的数据保存到数组中,便于主函数对其进行处理:
例如:int main(){
function_1(int a ,char *b[]); //function_1调用了function_2
}
viod function_1(int a ,char *b[]){
function_2(int c,int d,char **c);
}
function_2运行过程中得到了一个数组array_1[i][j];怎样能在主函数中调用这个数组array_1,由于这个程序中函数嵌套比较多,想用全局变量或是指针的方法来实现主函数对数组的调用,请大侠们多多帮忙!!

第1个回答  2013-03-21
void function_2(int c,int d,char **e)
{
//保存到数组e中
}
void function_1(int a ,char *b[10]){
int c=0;
function_2(c,a,b);
}
int main()
{
int a=0;
char *b[10];
function_1(a ,b); //function_1调用了function_2
return 0;
}
执行完,数据就在数组b中了
第2个回答  2013-03-21
可以将array_1数组设为全局变量 也可以将函数的返回类型设为指针类型 再return array_1;
第3个回答  2013-03-21
可以把这个数组array_1做为function_2的返回值,再由function_1返回给主函数不就行了追问

刚开始我也是这么写的,后来因为程序太多,虽然例子上说的是两个函数之间嵌套,实际程序是十几个函数之间互相调用,这样改起来太麻烦了,而且容易影响其他函数的作用!

追答

那就把array1声明为全局变量,这样在function2中初始化后,就可以直接在主函数中调用了。

本回答被提问者采纳
第4个回答  2013-03-21
可直接把数组做为返回值返回就OK了

C\/C++ 中子程序(子函数)能不能相互调用?
void main(){ A();a();b();} 运行这个程序,结果为 a a 说明a()运行了两次。一次自身调用,还有一次是通过b()函数实现的。C语言也是同样的。因此C\/C++ 中子程序(子函数)能相互调用。

c++中主程序和子程序分别是什么 举例说明
比如我一个主程序,里面一直要用到查找,我们就先写个子程序把它定义为findtext(int str1,int str2)str1为查找内同 str2为查找目标 然后我们写主程序,就可以直接用这个子程序 其实在C里面你可能觉得没什么,如果你学过单片机,我们写程序不用到子程序不行,应为单片机容量有限,如果重复代码出现就会...

如何用C++编写多个程序,整合成一个项目?
include "xxx.h" ,把所有的子程序都包含进来,有几个子程序就写几行。注意的是,子程序中原来有#include<reg51.h>都要删掉,在主程序中有一行就行,就是整个工程只有一行#include<reg51.h>。这样,那些子程序,就可以被主程序调用了。

C语言函数的调用
在实际工程项目中,一个程序通常都是由很多个子程序模块组成的,一个模块实现一个特定的功能,在 C 语言中,这个模块就用函数来表示。一个 C 程序一般由一个主函数和若干个其他函数构成。主函数可以调用其它函数,其它函数也可以相互调用,但其它函数不能调用主函数。在我们的 51 单片机程序中,还有中...

c语言exit是什么意思(c语言return什么意思)
函数是C语言的基本构件,一个C程序可以由一个主函数和若干个子程序函数构成,由主函数调用其它子程序函数,其他子程序函数也可以互相调用。通常希望通过函数调用使主函数能得到一个确定的值,这就是函数的返回值。在C语言中通过函数实现模块化程序设计思想,即用函数实现功能模块的定义,然后通过函数之间的...

c++中函数的奇偶性要怎么实现
include<stdio.h> int even(int x){ if(x%2==0)return 1;else return 0;} void main(){ int i;scanf("%d",&i);if(even(i)==0)printf("奇数");else printf("偶数");

子程序调用是什么意思?
子程序调用是指一个程序可以调用另外一个独立的子程序。这个子程序一般包含着一些独立的功能和运行逻辑。子程序调用主要是为了方便日后的维护和代码的简洁性。在大规模编程中,它可以通过分配不同的模块、类或者函数进行子程序的调用,以实现更好的代码重用性和防止代码的重复。子程序调用在很多编程语言中都...

c\/ c++中的中断与函数有哪些异同之处?
不同点:一、执行方式不同 1、中断服务程序:中断函数是发生中断后,自动执行的,不需要主函数调用,是否执行,取决于相应的中断事件是否发生。2、普通子程序:普通子函数要主函数调用才能执行。二、使用情况不同 1、中断服务程序:中断函数在中断发生时,先进入中断入口地址,再通过中断入口地址处放置的...

C语言中如何调用子程序
例:include<stdio.h> intsushu(intx){inti;for(i=2;i<x;i++)if(x%i==0)break;if(i==x)return1;elsereturn0;} main(){inti,n=0;for(i=2;i<=1000;i++)if(sushu(i)==1)n++:printf("n=%d",n);}

怎么查看C\/C++头文件中各函数的定义?
在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。3、C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的...

相似回答