首页
/
每日頭條
/
科技
/
c語言void是什麼意思及用法
c語言void是什麼意思及用法
更新时间:2025-07-24 19:13:33

昨天我們談了數據類型中的枚舉類型,今天我們來談一談數據類型中的void類型。

大家看到“void”這個單詞,是不是感覺非常熟悉呢,沒錯,這是一個關鍵字,我們平時常常會用在定義函數、方法。

但說來慚愧,學C語言那麼久,到現在為止,我還沒有完全搞懂void的含義,平時隻知道使用void來定義一個方法和函數。

在回顧C語言補充内容的時候,我才正式注意到了void這個概念。

void類型的定義

void類型,也叫做無數據類型,換言之,就是沒有數據類型。

那麼void既然是定義無數據類型的,那麼能夠像前兩天說的“枚舉類型”和“基本類型”,應該也能用來定義數據吧。

但我嘗試着使用void來定義變量,卻發現報錯了。

c語言void是什麼意思及用法(用C語言讨論數據void類型)1

所以,要定義變量的話,還是得給定指定的數據類型才行。

那麼,void類型主要是用在什麼地方呢?

根據網上查閱的相關資料,void主要是用在對函數返回的限定和對參數返回的限定。

這句話比較難以理解,我看到這句話的時候,我也有點懵圈。

但進行梳理後,也比較好理解了。

就是void類型主要有三種情況,分别是“函數返回為空”、“函數參數為空”、“指針指向void”,但是這三種情況,到目前為止我隻能解釋前兩種,對于第三種情況還略有些不明白,或許需要後續進行一個補充。

c語言void是什麼意思及用法(用C語言讨論數據void類型)2

函數返回為空

我們可以使用void來定義函數,但對于主函數main來說,使用void main(){}卻會發現産生警告,這是因為main函數的返回值是int整數類型,所以要使用int main(){}來作為主方法,兩者的主要區别就在于有無返回值。

void fun(){//函數返回為空 //沒有return的返回值,這個可以與int定義函數進行一個對比 } int main(){ return 0; }

c語言void是什麼意思及用法(用C語言讨論數據void類型)3

函數參數為空

int fun1(){//函數參數為空 return 0; } int fun2(void){//函數參數為空 return 0; }

很顯然,函數參數為空有兩種情況,一種是括号内什麼都不添加,而另一種則是添加void。

c語言void是什麼意思及用法(用C語言讨論數據void類型)4

指針指向void

malloc是内存分配函數,因為指針指向void我不是很明白,所以這裡舉了一個大家常用的一個内存分配函數的例子,等我再研究研究或許就明白的差不多了呢。

void *malloc( size_t size );//類型為void *的指針代表對象的地址,而不是類型 int main(){ void *m; int *n; m = n; printf("%d",m); }

c語言void是什麼意思及用法(用C語言讨論數據void類型)5

c語言void是什麼意思及用法(用C語言讨論數據void類型)6

但顯然,這仍然是存在一些問題的,可是這是根據網上的說法來得到的,顯然是有問題的。

所以我在基于自己的理解上修改了下代碼,也就是根據指針的定義,要使用&這個符号來訪問内存地址。

可以發現,這樣就是正确的,到目前為止,我就發現void最有效的作用就是不需要強制進行類型轉換,可以幫助簡便程序。

c語言void是什麼意思及用法(用C語言讨論數據void類型)7

總結

總的來說,void類型其實我們平時用的比較少,所以對這個類型也沒太多概念,今天主要是提及一下,之後若是再遇到了,我會再根據相應的題目寫相應的文章來解釋的。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
手機數據遷移新手機怎麼轉記錄
手機數據遷移新手機怎麼轉記錄
大家都知道,現在的手機越做越好,不少人在各大品牌出新機的時候第一時間就更換自己的手機,感受新機的美妙。但是在我們要使用新手機的時候,最麻煩的事情莫過于将原本舊手機中的數據遷移到新手機中了。今天小編将告訴大家幾個非常方便的遷移手機數據的方法,...
2025-07-24
筆記本怎麼設置全屏玩穿越火線
筆記本怎麼設置全屏玩穿越火線
筆記本怎麼設置全屏玩穿越火線?按組合鍵“Win+R”打開運行,輸入regedit點擊“确定”,下面我們就來說一說關于筆記本怎麼設置全屏玩穿越火線?我們一起去了解并探讨一下這個問題吧!筆記本怎麼設置全屏玩穿越火線按組合鍵“Win+R”打開運行...
2025-07-24
手機進水嚴重怎麼自救
手機進水嚴重怎麼自救
雖然現在旗艦機型基本都已具備IP67或IP68級防水功能,但總體來說還是不防水的手機占多數。手機進水如果處理不當,大幾千的手機很可能就報廢了。不過隻要處理方法正确得當,可以大大提高進水手機的存活率。具體方法可以歸納為三做三不做~三必做一,撈...
2025-07-24
怎樣在手機上玩假面騎士巅峰戰士
怎樣在手機上玩假面騎士巅峰戰士
說到假面騎士最好玩的遊戲,我覺得應該就是《假面騎士鬥騎大戰》了,《假面騎士鬥騎大戰》系列是BandaiNamco以特攝片《假面騎士》系列為題材打造的一款動作遊戲,因為遊戲的玩法特色而被玩家們成為“假面騎士無雙”,該系列遊戲目前已經推出了共三...
2025-07-24
用電池自制指尖陀螺
用電池自制指尖陀螺
因為自己無聊的時間比較多吧,或許也是有一些制造業的資源。所以,無聊的時候和小夥伴們做一些小玩意兒。起先的時候做了幾把刀,不過材料選擇和熱處理工藝的處理不當導緻不是沒有硬度就是沒有韌性。之後經驗逐步積累,閑的時候做一些EDC裝備,比如之前做了...
2025-07-24
Copyright 2023-2025 - www.tftnews.com All Rights Reserved