形参全称形式参数,位置是写在函数定义时函数名后面的括号中,比如

这个函数,形参就是函数名max后面括号里定义的x和y
而实参全称实际参数,是你在这个函数之外调用该函数的时候,函数名后的括号中的内容
在int c=max(a,b)这一行可以看到,实参就是max括号后的a和b
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
形式参数就是定义函数时候的参数表,只是定义了调用时参数的个数、类型和用来引用的名字,并没有具体的内容。形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。
可以用逗号分辨参数个数,但是小括号里的逗号不算,比如你这个函数,其中的参数有x+y 、 e1,e2 、 fun(xy,d,(a,b)) 这三个参数。
其中(e1,e2)是个匿名函数当参数, fun()是个函数参数,其中又有 xy、d、(a,b). fun(x,y,f(a,b,c,d))fun()一共有多少的参数,3个, x、y、f()虽然a b c d都是f()的参数, 但fun()在调用的时候只看f()的返回值, 并不管f()里面有多少个参数, 所以f()只算一个参数.
C语言函数参数包括“形参”和“实参”两种。形参的个数决定了实参的个数。在函数定义时,需要用逗号分隔开各个不同的参数,比如f(int x, int y)就定义了两个整形参数x和y,其中x和y这个名字是不重要的,那么在调用这个函数时,就需要把实际的参数值,也就是实参按照x和y 顺序传给f,那么当然个数就是2个。希望以上回答可以帮助到您。