char a[10];
memset(a,'\0',sizeof(a));
memset(&a,'\0',sizeof(a));a是&a[0]; &a指向a数组首地址;是否没区别? 谢谢 。

解决方案 »

  1.   

    a(变量),&a(取地址),不就是这些?!
      

  2.   

    测一下一样char m[10];
    TRACE1(" %p \n",m);
    TRACE1(" %p \n",&m);结果
     0012F4BC 
     0012F4BC 
      

  3.   

    a是&a[0];  
     &a是数组首地址的地址
    怎么会没区别
    &a是a这个指针也即数组首元素的地址的地址 
      

  4.   

    假设数组的首地址为1000
    &a的类型是char(*)[10];是一个数组指针(指向数组的指针)
    &a和a都指向1000起始的地址单元,但它们对这块内存的解释不一样(由于它们的类型)
    a解释的是一个连一个的char,而&a则是解释成一个连一个的char[10]数组
    char (*pa)[10] = &a;