C语言基本教程(五)函数(6)
三、用全程变量实现参数互传
以上两种步伐可以在挪用函数和被挪用函数间通报参数,但利用不太利便。假如将所要通报的参数界说为全程变量,可使变量在整个措施中对所有函数都可见。这样相当于在挪用函数和被挪用函数之间实现了参数的通报和返回。这也是实际中常常利用的要领,但界说全程变量势必持久地占用了内存。因此,全程变量的数目受到限制,出格对付较大的数组更是如此。虽然对付绝大大都措施内存都是够用的。
例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]);
}
}