C語言中,空指標NULL會佔記憶體嗎?多少位元組 - 就問知識人

文章推薦指數: 80 %
投票人數:10人

C語言中的空指標是什麼意思,C語言中,空指標NULL會佔記憶體嗎?多少位元組,1樓匿名使用者這樣一看才知道大家對空指標的概念如此渾濁哦首先void 這不 ... C語言中的空指標是什麼意思,C語言中,空指標NULL會佔記憶體嗎?多少位元組 2021-03-2718:01:08字數1690閱讀8966 1樓:匿名使用者 這樣一看才知道大家對空指標的概念如此渾濁哦!! 首先:void*這不叫空指標,這叫無確切型別指標.這個指標指向一塊記憶體,卻沒有告訴程式該用何種方式來解釋這片記憶體. 所以這種型別的指標不能直接進行取內容的操作.必須先轉成別的型別的指標才可以把內容解釋出來. 還有'\0',這也不是空指標所指的內容.'\0'是表示一個字串的結尾而已,並不是null的意思. 真正的空指標是說,這個指標沒有指向一塊有意義的記憶體,比如說: char*k; 這裡這個k就叫空指標.我們並未讓它指向任意地點. 又或者char*k=null; 這裡這個k也叫空指標,因為它指向null也就是0,注意是整數0,不是'\0' 一個空指標我們也無法對它進行取內容操作. 空指標只有在真正指向了一塊有意義的記憶體後,我們才能對它取內容.也就是說要這樣 k="helloworld!"; 這時k就不是空指標了. 2樓:匿名使用者 如果函式的引數可以是任意型別指標,那麼應宣告其引數為void* 典型的如記憶體操作函式memcpy和memset的函式原型分別為: void*memcpy(void*dest,constvoid*src,size_tlen); void*memset(void*buffer,intc,size_tnum); 這樣,任何型別的指標都可以傳入memcpy和memset中,這也真實地體現了記憶體操作函式的意義,因為它操作的物件僅僅是一片記憶體,而不論這片記憶體是什麼型別。

空指標僅僅是申明瞭一個變數名,告訴編譯器有個變數存在,當然你後面肯定會用到它(事實上你不用也沒人怪你)。

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

3樓:藍冰_藍水 上面的錯了。

其實空指標就是指值為null的指標。

而且null在c和c++的定義方式也不一樣,甚至不同的編譯器也有不同的要求。

例如:definenull0//c的定義方式 definenull(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只是表示沒有指向記憶體 相關推薦 已知指數函式f(x)ax在上的最大值與最小值之差為1,求a的值 什麼是第三方支付平臺,什麼是第三方支付第三方支付有哪些優缺點 怎麼查詢學業水平考試成績,如何查詢學業水平測試成績? C語言中的空指標是什麼意思,C語言中,空指標NULL會佔記憶體嗎?多少位元組 在直線上面的裡填上適當的分數,在下面的裡填上適當的小數 相關推薦 已知指數函式f(x)ax在上的最大值與最小值之差為1,求a的值 什麼是第三方支付平臺,什麼是第三方支付第三方支付有哪些優缺點 怎麼查詢學業水平考試成績,如何查詢學業水平測試成績? C語言中的空指標是什麼意思,C語言中,空指標NULL會佔記憶體嗎?多少位元組 在直線上面的裡填上適當的分數,在下面的裡填上適當的小數 相關閱讀 已知指數函式f(x)ax在上的最大值與最小值之差為1,求a的值 什麼是第三方支付平臺,什麼是第三方支付第三方支付有哪些優缺點 怎麼查詢學業水平考試成績,如何查詢學業水平測試成績? C語言中的空指標是什麼意思,C語言中,空指標NULL會佔記憶體嗎?多少位元組 在直線上面的裡填上適當的分數,在下面的裡填上適當的小數 擴大居民消費需求相關措施有哪些?(要高中政治必修1的《經濟生 topic 社會 教育 文化 娛樂 心理 健康 科技 時尚 家居 汽車 旅遊 財經 育兒 科學 美食 遊戲 數碼 收藏 寵物 職場 三農 歷史 體育 動漫 國際 軍事 知識 電影 其它



請為這篇文章評分?