空指標究竟指向了記憶體的哪個地方,C語言中,空指標NULL會佔記憶體嗎?多少位元組

2021-04-12 07:18:52 字數 2347 閱讀 2181

1樓:匿名使用者

這樣一看才知道大家對空指標的概念如此渾濁哦!!

首先:void* 這不叫空指標,這叫無確切型別指標.這個指標指向一塊記憶體,卻沒有告訴程式該用何種方式來解釋這片記憶體.

所以這種型別的指標不能直接進行取內容的操作.必須先轉成別的型別的指標才可以把內容解釋出來.

還有'\0',這也不是空指標所指的內容. '\0'是表示一個字串的結尾而已,並不是null的意思.

真正的空指標是說,這個指標沒有指向一塊有意義的記憶體,比如說:

char* k;

這裡這個k就叫空指標.我們並未讓它指向任意地點.

又或者char* k = null;

這裡這個k也叫空指標,因為它指向null 也就是0,注意是整數0,不是'\0'

一個空指標我們也無法對它進行取內容操作.

空指標只有在真正指向了一塊有意義的記憶體後,我們才能對它取內容.也就是說要這樣

k = "hello world!";

這時k就不是空指標了.

2樓:匿名使用者

如果函式的引數可以是任意型別指標,那麼應宣告其引數為void *

典型的如記憶體操作函式memcpy和memset的函式原型分別為:

void * memcpy(void *dest, const void *src, size_t len);

void * memset ( void * buffer, int c, size_t num );

這樣,任何型別的指標都可以傳入memcpy和memset中,這也真實地體現了記憶體操作函式的意義,因為它操作的物件僅僅是一片記憶體,而不論這片記憶體是什麼型別。空指標僅僅是申明瞭一個變數名,告訴編譯器有個變數存在,當然你後面肯定會用到它(事實上你不用也沒人怪你)。

注意c++中語法要求更嚴格,不允許直接對空指標賦值,而必須先進行型別轉換。

3樓:藍冰_藍水

上面的錯了。其實空指標就是指值為null的指標。而且null在c和c++的定義方式也不一樣,甚至不同的編譯器也有不同的要求。

例如:define null 0 //c的定義方式

define null (void *)0 //c++的定義方式

4樓:匿名使用者

指標沒有指向任何東西

空指標指的就的'\0'!

5樓:匿名使用者

指標沒有指向任何東西

6樓:匿名使用者

空指標指的就的「0」!

7樓:你是臥底

char* k 不能算空指標吧

c語言中,空指標null會佔記憶體嗎?多少位元組

8樓:劉培鑫

佔用的 這個指標 比如 char *p ; p =null ;

p是個指標 佔4位元組, 只是裡面的地址值是 0而已

9樓:匿名使用者

null表示的只是這個地址為空而已,這個指標變數本身還是要佔記憶體的,32位環境下,指標所佔的記憶體都是4個位元組

10樓:匿名使用者

一樣要佔記憶體,其大小應該是看你定義的變數的來分配記憶體的

11樓:匿名使用者

指標都會佔用4個位元組的記憶體, null只是表示沒有指向記憶體

c++ 關於空指標

12樓:匿名使用者

空指標的定義和理解:

真正的空指標是說,這個指標沒有指向一塊有意義的內記憶體,比如說:

char* k;

這裡容這個k就叫空指標。並未讓它指向任意地點。

又或者char* k = null;

這裡這個k也叫空指標,因為它指向null也就是0,注意是整數0,不是'\0'。一個空指標我們也無法對它進行取內容操作。空指標只有在真正指向了一塊有意義的記憶體後,我們才能對它取內容。

也就是說要這樣k = "hello world!";這時k就不是空指標了。

13樓:風雨也無晴

1、雖然空復指標不指向有效資料制 但是是有空間來儲存空指標的嗎、?

是的,所有32位機 指標變數佔4個位元組。

2、是不是因為空指標不指向有效資料 所以 cout<<*p;是錯的呢?、

是的,*p可能訪問到系統關鍵資料,你覺得呢。。。

3、cout<

是的,p是0 不代表p的地址是0;

希望能幫到你

14樓:匿名使用者

#include

int main()

求教 指向指標的指標的問題,求教 指向指標的指標的一個問題。

指標在計算機中是一個32位 即四位元組 的一個值,這32位資料代表一個地址,當你宣告瞭一個 char p的指標的時候,自動分配了32位大小的空間儲存指標p,但是,注意,p沒有指向任何空間,所以 p操作是錯誤的,你必須先為 p分配一塊空間才行,具體做法如下 p char malloc sizeof c...

指南針的紅色指標指向面,白色指標指向面

指南針的紅色指標指向 南 面,白色指標指向 北 面。地球是一個大磁體。地球的兩個極分別在接近地理南極和地理北極的地方。地球表面的磁體,當可以自由轉動時,就會因磁體同性相斥 異性相吸的性質指示南北。所以有指南針的紅色指標指向南面,白色指標指向北面。拓展資料 1 指南針,古代叫司南,主要組成部分是一根裝...

指標全部指向12點鐘猜字,指標全部指向12點一個鐘猜字

鬥字 因為是十二點 而斗的構成就是一個十和兩個點 指標全部指向12點一個鐘,字 午 一個鐘,指標指在12點整,打一字是什麼 午 午夜 0 時。中午 12時。看圖猜字謎 一個時鐘 指標指到12點 謎底是 鬥 是因為12點,一個十加上2個點就是鬥字也說明是12點 應該是個 國 字 口 相形鍾 邊框 玉 ...