在C语言中,形参和实参是函数中的两个重要概念,它们的区别如下:

存储位置不同:形参只在函数内部有效,函数调用结束后就会被释放,不会占用程序的存储空间;而实参在函数调用时会被复制到函数的栈空间中,占用程序的存储空间。
数据类型不同:形参和实参的数据类型必须一致,否则会导致编译错误或运行错误。
作用域不同:形参只在函数内部有效,函数外部无法访问;而实参在函数调用时可以从函数外部传递进来,也可以从函数内部传递到外部。
值传递和引用传递:C语言中的形参默认是值传递,即函数调用时实参的值会被复制到形参中,函数内部对形参的修改不会影响到实参;如果需要实现引用传递,则需要使用指针或引用类型的形参。
需要注意的是,在C语言中,形参和实参是函数中非常重要的概念,理解它们的区别对于编写正确的函数和调用函数非常重要。
实参:所谓实参就是实际在内存中开辟了的空间的变量参数。
形参:指的是函数的参数,之所以叫形参,是因为只有在函数被调用的时候才会给该变量在栈中开辟空间,并将实参拷贝给形参
C语言的形参,顾名思义就是形式参数,它是定义函数是,写在函数名称后面小括号里面的一系列参数定义,包括参数类型和参数名称,不同的参数用逗号分隔。特别注意的是,参数类型一定要明确,参数名称要清楚明了,要能望文知义,以方便调用处传递实参
实参与形参数据传递有两种方式:值传递与地址传递
地址传递的形式为 int &a=b;也就是我们所说的引用,但引用只有C++中有,所以C语言都是值传递的。函数实参与形参之间的数据传递方式是传递方式,在C语言中,数据传递方式有值传递和引用传递。
值传递:传值,实际是把实参的值赋值给行参,相当于copy。那么对行参的修改不会影响实参的值引用传递: 实际是传值的一种特殊方式只是他传递的是地址,不是普通的赋值,那么传地址以后,实参和行参都指向同一个对象,因此对形参的修改会影响到实参。
【1】形参并没有实际的意义,他是定义该参数的变量域(或类型)。
【2】实参是形参的一种特例,他是变量域中的一个有效值。
x就是形参,而(1,5)就是这个形参的取值范围,而从1到5的开区间任何一个实数都可以是实参,
即实参是确定的值,而形参是表示实参的取值范围