&与 *的区别是什么?
用时要注意什么??

解决方案 »

  1.   

    &  是取地址符,它要求所取地址的变量必须有明确的空间
    *  只是一个指针,可能还没有指向有效的空间比如  int  a[3] ; 
    int *p = null ; 
         p = &a ;
      

  2.   

    &是取地址和引用操作符,
    *是指针操作符。
    如果
    int i = 5;
    int m = 6;
    int &j = i;//引用被创建的同时必须被初始化,而且不能改变如
    j = m;//是错误的。
    int *p = &i;//指针能够毫无约束地操作内存中的如何东西
    p = &m;//正确