void 0和0的區別及用法

2021-09-25 00:06:44 字數 1000 閱讀 3031

(void)0相當於巨集null,null本身的含義為「空」,在c語言代表「不存在、不確定」的含義。

0不能簡單的理解為「沒有」的意思,在c語言及二進位制中,0和1代表的是「一件事物的正反兩個方面「,0是一種明確的狀態,不是沒有含義。

舉例:1、就像乙個led燈開關一樣,0代表關,1代表開。」關「是一種明確的狀態,代表燈沒有亮,」開「也是一種明確的狀態,代表燈亮了。」空「代表什麼呢?代表沒有看到那盞燈(未確定),不知道現在是」開「還是」關「,甚至是不是存在那麼一盞燈,都是未知的(未定義)。

2、二進位制的0和1,可以理解為一張紙的正反面,它們之間是相互依存的,相互證明的關係,二者缺一不可,否則無論是只有1還是只有0,都沒有了變化,只是乙個死板的數了。參考老子的道德經,「有無相生,難易相成,長短相形,高下相傾,音聲相和,前後相隨」,結合這句話來理解二進位制再好不過了。

void型別的作用:

規則1:任何型別可以轉換為void型別,來顯示的表明對該值的丟棄。

規則2:void型別不可以轉換為其他型別,void指標除外。

用途:空,0,假,之間的區別?

「空」表示一種不確定或者不存在,不可以作為條件,也不可以給其他變數賦值為空。

0,可以表示為數字0,也可以在條件語句裡表示假

假,邏輯變數,在條件語句中表示假。

舉例:if(條件為真)

執行語句;

if(條件為假)

不執行if(條件為空)

報錯!因為空不是一種明確的狀態。

當我們想明確的表示該值不存在或者放棄該值的時候,可以將相應的值轉換為void型別。

舉例:void  fun1(int a);   //該函式明確表示沒有返回值,如果沒有void,c語言預設返回int型別的值。

(void)(a=13);      //明確的拋棄表示式a=3的值,預設a=3的值為右值3。

(void)0;              //明確的將0的型別改為void,因為0可以在條件表示式中表示為假,也可以當作int型別給變數賦值,當0變為void型別後,這些都不可以了。

C語言中的 void 0 與 void 0

前幾天看到乙個巨集,它大概是這樣的 define assert param expr expr void 0 assert failed u8 file line 的含意簡單,關鍵是那個 void 0 的用法,我還是第一次見到 我用 void 的時候,有兩種情況 1.放到函式前面,強調函式沒有返回值...

C語言中的 void 0 與 void 0

前幾天看到乙個巨集,它大概是這樣的 define assert param expr expr void 0 assert failed u8 file line 的含意簡單,關鍵是那個 void 0 的用法,我還是第一次見到 別笑 我用 void 的時候,有兩種情況 1.放到函式前面,強調函式沒有...

函式指標 void 0

在很多情況下,尤其是讀別人所寫 的時候,對 c語言宣告的理解能力變得非常重要,而c語言本身的凝練簡約也使得c語言的宣告常常會令人感到非常困惑,因此,在這裡我用一篇的內容來集中闡述一下這個問題。問題 宣告與函式 有一段程式儲存在起始位址為 0的一段記憶體上,如果我們想要呼叫這段程式,請問該如何去做?答...