2 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
空指針的定義和理解:
真正的空指針是說,這個(gè)指針沒有指向一塊有意義的內(nèi)存,比如說:
char* k;
這里這個(gè)k就叫空指針。并未讓它指向任意地點(diǎn)。
又或者char* k = NULL;
這里這個(gè)k也叫空指針,因?yàn)樗赶?a >NULL也就是0,注意是整數(shù)0,不是'\0'。一個(gè)空指針我們也無法對它進(jìn)行取內(nèi)容操作??罩羔樦挥性谡嬲赶蛄艘粔K有意義的內(nèi)存后,我們才能對它取內(nèi)容。也就是說要這樣k = "hello world!";這時(shí)k就不是空指針了。

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
#include <iostream>
int main() {
using namespace std;
int *p = NULL;
cout << &p << endl; // &p是存放指針p的地址
cout << p << endl; // p指向的地址
cout << *p << endl; // p指向NULL,也就是0,顯示地址0單元的內(nèi)容會出錯(cuò),原因是該地址不能讀/寫
return 0;
}
追問
C++能確??罩羔槻粫赶蛴行?shù)據(jù)么?
追答
指向NULL就是指向“空”,因?yàn)榈刂?不是普通用戶所能操作的地址單元,含地址0在內(nèi),內(nèi)存(含ROM)歸操作系統(tǒng)所用。
- 2 回答
- 0 關(guān)注
- 770 瀏覽
添加回答
舉報(bào)