一句话:当函数被调用后,C语言根据形参列表的格式,创建变量,紧接着用实参对这些变量进行初始化。
比如说下面的简单例子,可以理解成:当testfun函数被调用时,隐式地进行了
int a = 99;
int b=24;
int * c =(内存中某个具体地址)
这三个初始化操作,接下来就正常使用这三个变量,这些变量可进行的操作也要根据形参类型列表中各形参变量的<限定词>来定(比如说加了CONST就不能改变变量的值)。
int testfun(int a ,int b,int * c);
int main(void)
{
int c = 50;
printf("&c in main function is : %p\n", &c);
printf("%d", testfun(99,24,&c));
}
int testfun(int a,int b ,int * c)
{
printf("a=%d\nb=%d\nc=%p\n", a,b,c);
a = 1999;
b = 1998;
c = NULL;
printf("a=%d\nb=%d\nc=%p\n", a, b, c);
return a;
}