zoukankan      html  css  js  c++  java
  • $a = &$b

    看时间前后,一般以后面时间赋值的那个为准,一个改变,另一个也改变了
    $b = &$a;
    $b = 100; (这句话不是给$b赋值100, 而是给$b所存储的地址的空间的变量和变量代码赋值)
    $a = 100; (这个时候 当$a被别人引用后, 所有给他的赋值, 那指向他的变量-地址变量-也会有所反映的)
    ============
    $a = 100;
    $b = &$a;

    $b 是一块内存的代号,这个内存里包含的一个4字节的地址编码,

    这个地址所对应的空间才是真正内容所保存的地方。当我们访问$b的时候,系统操作系统或者底层的代码会获得$b所对应的地址,然后把这个地址所对应的值返回给这个变量,方便我们操作,这个就是高级语言的特征,不然直接操作地址,就是机器语言或者很底层的语言了。

    -----

    $a直接对应一个数字,因为如果数字一般比较小,如果还要去引用另一块空间,太麻烦了。

    ------------------------------

    这么说吧 如果给$b = 100, 那$a 也会 = 100,

    但如果让$b = 100, 然后让$a = 200, 那最后$b就会变成200,

    因为 $a 所保存的实际上是$b的地址,然后操作地址的话,值自然也就操作改变了。

    -----

    $a = 100;

    $b = &$a;

    var_dump($a);

    $b = 200;

    $a = 300;

    var_dump($b);

    100-200-300- 一直在变化---

    可以这么理解,变量对应的地址,然后地址对应的才是变量,中间这一环是系统帮我们完成的,

    看山不是山

  • 相关阅读:
    从面向对象到SOA
    我对国内软件开发类书籍出版与写作的体会与努力
    MSDN for 2010的那些麻烦事
    金旭亮新作《.NET 4.0面向对象编程漫谈》之序“穿越梦想、起锚远航”
    Silverlight应用程序的本地通讯
    C#中Dictionary的用法
    泛型
    动态规划算法
    C# Timer
    面向对象程序设计寒假作业1
  • 原文地址:https://www.cnblogs.com/qinqiu/p/4476676.html
Copyright © 2011-2022 走看看