2009-07-10/10:21
三、用全程变量实现参数互传
以上两种办法可以在调用函数和被调用函数间传递参数,但使用不太方便。如果将所要传递的参数定义为全程变量,可使变量在整个程序中对所有函数都可见。这样相当于在调用函数和被调用函数之间实现了参数的传递和返回。这也是实际中经常使用的方法,但定义全程变量势必长久地占用了内存。因此,全程变量的数目受到限制,特别对于较大的数组更是如此。当然对于绝大多数程序内存都是够用的。
例6:
#incluide<stdio.h>
void disp(void);
int m[10]; /*定义全程变量*/
int main()
{
int i;
printf("In main before calling\n");
for(i=0; i<10; i++){
m[i]=i;
printf("%3d", m[i]); /*输出调用子函数前数组的值*/
}
disp(); /*调用子函数*/
printf("\nIn main after calling\n");
for(i=0; i<10; i++)
printf("%3d", m[i]); /*输出调用子函数后数组的值*/
getch();
return 0;
}
void disp(void)
{
int j;
printf("In subfunc after calling\n");/*子函数中输出数组的值*/
for (j=0; i<10; j++){
m[j]=m[j]*10;
printf("%3d", m[i]);
}
}