(void)0和0的區別及用法


(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類型后,這些都不可以了。

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM