我都理解~~~
我们提供的服务有:做网站、成都网站制作、微信公众号开发、网站优化、网站认证、田阳ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的田阳网站制作公司
因为PHP的变量是不需要申明,或者默认申明,在首次使用时候就自动申明变量,所以在函银芹数里面$c=$a+$b的时候,实际上相当于C语言下面的语句:
int c;
c=a+b;
printf("%d",c);
那么这里对c变量的任何操作都不影响全局变量c,自然就明白了。
而C语言相反,变量是必须申明的,不会自动申明,当你使用未申明变量的时候,编译程序就会去检测它是不是一个全局变量,所以C语言在函数里面z=a+b的z实际上是全局的,相当于下面的PHP代码:
global $z;
$z=$a+$b;
echo $z;
那么这里对变量$z的操作就会影响全局变量$z。
应该明白了锋氏毕吧,如核携果不明白请你从头再看一遍,如果还有不明白请补充,千万别就补充“不明白”三个字,而是要说说你是怎么理解的。
在C语言中,并没有引用的概悉竖念,这个是C++的概念。
在C++的函数参数中,有两种形式,其中
TYPE var的形式,称为传引用方式;
TYPE var的形式,称为传值。
二者的区别为,当传引用时,实际传到函数中的形参,是实际参数的一个引用,而不是仅传递值到函数中。具体的表现有以下几条:
1 传引用时,形参和实参是同一个变量,即使用相同的内存空间,二者有相同的地址。而传值时二者地址不同;
2 传引用时,由于没有新建变量,所以对于类对象参数,不会产生构造和析构。而如果是传值调用,调用时会进行构造,退出函数时会进行析构;
3 由于传引用使用的是原本实参的地址,所以对引用参数值的修改,会在退出函数唯陆埋后体现在主调函数中,指蚂而传值调用对参数的修改不会影响到主调函数。