首页
/
每日頭條
/
科技
/
c語言void是什麼意思及用法
c語言void是什麼意思及用法
更新时间:2025-07-23 06:35:56

昨天我們談了數據類型中的枚舉類型,今天我們來談一談數據類型中的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
推荐阅读
簡易手機套鈎織
簡易手機套鈎織
天冷手機也要穿毛衣:簡單百變鈎針手機套小教程!下面給大家簡單說一下做法,因為每個人的手機型号都不一樣,所以隻能以自己的手機為示範給大家講解一下鈎織思路啦!以手機蘋果6S為例,以下是做的圖解。手機殼設計就比較簡單啦,就是做一個純色素體,然後加...
2025-07-23
鋼絲繩卡的用法
鋼絲繩卡的用法
汽車起重機兼具工程機械和道路機械的特性,由于自身的複雜性,所以隻有日常良好的維護、保養才能延長設備使用壽命,降低故障率,才能提高設備的可靠性和經濟性。今天,我們給大家帶來鋼絲繩繩卡安裝秘訣!第一,将鋼絲繩留出3米位置第二,把鋼絲繩由小口插入...
2025-07-23
android應用廣告過濾幾種方式
android應用廣告過濾幾種方式
BlockerBlocker是一款操作Android應用程序四大組件的程序。它支持多種不同的控制器控制組件,目前支持的有使用軟件包管理器方式(PackageManager)和意圖防火牆模式(IntentFirewall)。支持無縫切換使用模...
2025-07-23
電腦優化用哪個軟件好
電腦優化用哪個軟件好
工作的原因,教過很多同學優化過電腦系統,本來很簡單的問題,卻看到很多人的總是喜歡把簡單的問題複雜化。1.朋友教的最初的優化原則10多年前,電腦越用越慢,然後從朋友這裡聽到了優化系統的概念,然後試着優化電腦電腦,記得了幾個簡單的原則:C盤和桌...
2025-07-23
獨立顯卡怎麼看
獨立顯卡怎麼看
獨立顯卡怎麼看?方法一:看機箱後方,集成顯卡在主闆上,插口是豎着的獨立顯卡插口是橫着一排,我來為大家科普一下關于獨立顯卡怎麼看?下面希望有你要的答案,我們一起來看看吧!獨立顯卡怎麼看方法一:看機箱後方,集成顯卡在主闆上,插口是豎着的。獨立顯...
2025-07-23
Copyright 2023-2025 - www.tftnews.com All Rights Reserved