char * test = NULL;
        test = new char[0]; if(test)
{
delete [] test;
}如果不会出错的话,指针new以后变成什么样子的了

解决方案 »

  1.   

    char * test 是一个指针变量,变量的名为test,变量的地址为编译器分配的地址,变量的内容:
    1>.test = NULL;//为0
    2.test = new char[0]; //为new返回的地址
      

  2.   

    问题是test = char[0] 之后new返回的地址是个什么东西,这个地址上系统分配任何内存了吗。
      

  3.   

    返回的地址是个很大的数 是eax的值 new分配内存了 然后你又DELETE了
      

  4.   

    char * test = NULL; 
            test = new char[0]; if(test) 

    delete [] test; 
    }上面的代码没有对内存进行写操作,所以没有一点意义如果进行写操作,则会出错.
      

  5.   

    我懂了,其实我是要调试一个BUG,看看是否可能是上述原因引起的,谢谢.