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點 應該是個 國 字 口 相形鍾 邊框 玉 ...