2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言形参跟实参详解

C语言形参跟实参详解

时间:2021-03-11 00:09:46

相关推荐

C语言形参跟实参详解

形参与实参

今天我们来说下c语言形参与实参的区别,形参跟实参理解的话也很简单,但是好多同学关于这个知识点都是一知半解,没有真正的去透彻,一问都知道,但在真正引用的时候还会出现很多问题,而百度的时候又会说看不懂,所以我们今天来做一个比较全面的介绍

我们今天讲解以简单明了易看懂为基础

1.形参和实参是什么

简单来说,形式参数(形参)就是形式上的参数,没有确定值

而实际参数(实参)是实际存在的,已经确定的参数,常量,变量,表达式,都是实参,

最简单的例子

int a=2; 这里的A有了实际的值 为实参int change(int b,int c); **c和b就是形参**。 这里的c和b可以是任意一个值传递,为形参int main(){change(1,2); 这样就是把实参值传递给形参,1和2就是实参}

这样我们能有一个简单的认识

2.形参和实参的区别

3.形参与实参知识点

3.1实参的值不随形参的变化而变化

在C语言中,数据传送是单向的,即只能把实参的值值传递给形参,但形参的变化不会改变实参的值,我们可以简单理解,就相当于把实参的值 复制给了另一个数(形参),而另一个数的改变不会改变原来数(实参)的值,正规来说:他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。。

**3.2.实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者“类型不匹配”的错误

比如

float a=5.34;void number(int b);int main(){number(a);//这样就会出现丢精度现象}

3.3如果实参是数组名,那么形参传递的之就是地址的值

int a[5];void add(int *b);int main(){add(a);//这样就是把数组a的首地址做为形参传递}

在C里面 是无法做到形参改变 实参值同步改变的。如果要用函数改变实参的值,可以用指针作为参数来改变

通过直接改变地址存储值来改变实参

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。