在编译子函数时,是否给形参和其内的局部变量分配内存空间?
在编译子函数时,是否给形参和其内的局部变量分配内存空间?如下面程序#include<stdio.h>
void main()
{
void f(int i,int x);
int x,i;
printf("请输入一个整数:");
scanf("%d",&x);
for(i=1;i<=x;i++)
f(i,x);
}
void f(int i,int x)
{
int j;
for(j=1;j<=x-i;j++)printf(" ");
for(j=1;j<=(1+(i-1)*2);j++)
printf("%d",i);
printf("\n");
}
编译时,是否给f()函数的形参 int i,int x 以及其内局部变量int j 分配内存空间。如果编译时分配的话,编译后,第一次运行调用,是否重新分配存储空间。
教材说每次调用函数结束后存储单元释放,下次调用时重新另分配存储单元。