GetWindowRect(&cRect);有&和没有&的区别,请说的通俗,最好打个比方,因为兄弟我的理解实在有限

解决方案 »

  1.   

    加与不加可就完全不一样了。
    如果不加,那么只是进行值传递,在GetWindowRect函数内部,会为这个rect建立一个拷贝,函数所有的操作是对这个拷贝进行,那样,将无法返回窗口的矩形了。因为你传进去的变量根本就不发生变化。
    而加了&后,就不同了,引用与指针类似,会告诉函数一个变量的地址,然后函数就直接去这个变量进行操作了,而不是建立一个拷贝进行操作。
      

  2.   

    加&:相當於對實參進行修改;
    不加&:在GetWindowRect函數內部進行程序處理時會根據實參產生一個相同的臨時變量並且對該臨時變量進行數據處理,該變量只在GetWindowRect內部有效.而實參不會有任何改動
      

  3.   

    打个比方,加&,相当于找A的时候喊A的外号,在一定的交际圈子里,外号都是特定的,喊外号就知道是找的具体的那个人
    不加&,相当于找A的时候,A克隆了自己,找到的是克隆的A。
      

  4.   

    我是不是应该这样理解,
    1,首先GetWindowRect(cRect);中的cRect是形参,他进行的是值传递,所以在函数内部发生的操作,并不能传给实参,对吗?所以是一点用都没有
      

  5.   

    我是不是应该这样理解,
    1,首先GetWindowRect(cRect);中的cRect是形参,他进行的是值传递,所以在函数内部发生的操作,并不能传给实参,对吗?所以是一点用都没有
      

  6.   

    我想还有一个区别,就是如果不加&,就根本不能编译通过^_^,开个玩笑
      

  7.   

    指针是C语言里面极其重要的一部分,劝搂住还是先学好C语言再来学Win32 SDK吧。你这样学永远学不出来……
      

  8.   

    &是引用,只是传递的地址。
    不加就是把值复杂到新的地址去了。相当于VB中的ByRef 和ByVal