C/C++_中NULL與空字符串的區別


  今天在工作中遇到一個問題,回調函數傳參調不起來,NULL和空字符串是不相同的。

總結如下:

  空字符串是 "",會創建一個對象,內容是"",有內存空間;

  而NULL,不會創建對象,沒有內存空間;

舉個比喻:

  ""   相當於我的錢包里沒有錢;

  NULL 相當於我沒有錢包;

舉例說明:

  int _tmain(int argc, _TCHAR* argv[])
  {
     char a[100] = { 0 };
     strcpy(a, NULL);

    return0;

  }

  這種情況下,程序會出現崩潰;

  strcpy(a, ""); //需要傳入空字符串

轉載來自:http://blog.csdn.net/u010003835/article/details/48054041


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM