在C和C 中NULL的區別

2021-08-03 15:08:33 字數 478 閱讀 7057

1.在c和c++中特定指標與通用指標相互賦值的問題

特定指標 如:int ,char ,float *

通用指標 如:void*

int main()

(2)在c中,通用指標可以賦給特定指標,但在c++中,通用指標不可以賦給特定指標,在c++中這樣規定是為了杜絕不同型別的指標相互賦值

2.c和c++中的null的不同定義

在c中,null 即(void *)0

在c++中,null 即 0

注意:

(1)其實在c中,null 也可以是 0,但是因為c語言當時沒有考慮到0的問題,已經規定了null 為(void *) 0

(2)假如在c++中null是(void*)0,則int * p=null即 int * p =(void *) 0,這在c++中編譯是無法通過的,因為c++中通用指標不可以賦給特定指標。所以在c++中null 是 0

C 中null和 的區別

string是引用型別 string str null 沒有建立記憶體空間,str中存放的是空引用指標 string str 建立了記憶體空間,str中存放的是指向堆中的指標。簡單地說 string str 給你一張白紙 string str null 連白紙也沒有。string.empty就相當於...

C 中null和「」的區別

string是引用型別 string str null 沒有建立記憶體空間,str中存放的是空引用指標 string str 建立了記憶體空間,str中存放的是指向堆中的指標。簡單地說 string str 給你一張白紙 string str null 連白紙也沒有。string.empty就相當於...

C 中DBNull和NULL區別

1 dbnull是乙個類。dbnull.value是它唯一的例項。它指資料庫中資料為空 時,在.net中的值。null表示乙個物件的指向無效,即該物件為空物件。對資料庫中的資料進行判斷時,用if sdrct 0 is dbnull 而不是用!代替is。null 是c 中的null,dbnull是資料...