C/C++的NULL、Java的null、Python的none
1.C/C++的NULL
NULL,用來表示空指針的宏,其實質就是0,表示不指向任何內存地址的空指針。
nullptr是一個C++關鍵字,從C++11開始引入,表示空指針。
在C++中NULL直接定義爲0,而在C裏,NULL是定義爲(void*)0的,這也很好理解,C語言可以隱式轉換,而C++卻是需要顯示的寫出類型轉換的。像int *p = (void *) 0;
2.Java的null
Java中,null是一個關鍵字,大小寫敏感,用來標識一個不確定的對象。
null既不是對象也不是一種類型,它僅是一種特殊的值,你可以將其賦予任何引用類型,也可以將null轉化成任何類型,但不能賦給基本類型變量,例如int、double、float、boolean。如果將null賦值給包裝類object,然後將object賦給各自的基本類型,編譯器不會報錯。
比如:
int a = null; 是錯誤的
Ojbect o = null; 是正確的。
3.Python的None
Python中沒有NULL,只有None,None有自己的特殊類型NoneType。
None是一個對象,而NULL是一個類型。
在Python中,None、False、0、""、[]、()、{}都相當於False。