1: CString str1 = "";
2: CString str2 = NULL;
3: char str3[3] = "";
4: char* str4 = "";
请问哪个正确,哪个错误?

解决方案 »

  1.   

    3: char str3[3] = ""; 
    这个不对,哈哈。
      

  2.   

    1: CString str1 = "";   //字符串类内容为空
    2: CString str2 = NULL; //这个是通不过编译的吧, CString类不可能赋值0
    3: char str3[3] = ""; //字符串内容为空
    4: char* str4 = ""; //字符串指针指向内容为空
    5: char* str4 = NULL; //字符串指针指向空。
      

  3.   

    第2个是错的
    1: CString str1 = "";  str1为空,实际是CString类会自动在后面有个结束标志'\0'
    2: CString str2 = NULL; 
    3: char str3[3] = "";  同1,只是后面两个被默认为"",就是三个数都一样
    4: char* str4 = "";    指针指向某个""的地址
    不知道对不 
      

  4.   

    试了吗?试了再提问,试了再回答好吗?语法都是对的,关键是看你怎么用。第二个CString赋值为NULL当然可以。
      

  5.   

    说实话,我发了贴后就去试了,谢谢大家,
    更谢谢Mackz.