C语言函数参数传递

1、按值传递

实际上,所有的传递都是按值传递。

一般情况下,变量是按值单向传递的。比如你有一张纸,要传给一个函数(另一个人),你是复印了你的纸,然后把副本给另一个人,那个人无论怎么折腾副本,都不会影响原来的纸。

 

2、按地址传递

按地址传递,意思是传递的值是地址。其实也是传递值也就是地址的副本,可以统一成按值传递。

比如数组作为参数,传递的是数组首元素的地址的副本。

比如,你现在文件夹里有1w张纸,你要传给一个函数(另一个人),不可能传递1w个变量(1w个副本),你可以说,嘿,文件夹在我桌上,你自己找你要的,文件夹的位置就是地址,有了地址就能找到文件夹内每张纸(数组元素)的值。由于别人操作的是你的地址,所以你的数据就可能被修改。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注