亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C,C ++和C#中,void是什么意思?

在C,C ++和C#中,void是什么意思?

C++ C# C
呼喚遠方 2019-11-25 10:44:14
希望了解術語“ 無效 ”的來源以及為什么稱為“ 無效 ” 的基礎。這個問題的目的是為沒有C經驗并且突然正在尋找基于C的代碼庫的人提供幫助。
查看完整描述

3 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

基本上,它的意思是“無”或“無類型”

有3種使用void的基本方法:

  1. 函數參數:int myFunc(void) -函數不執行任何操作。

  2. 函數返回值:void myFunc(int) -函數不返回任何內容

  3. 通用數據指針:void* data -“數據”是指向未知類型數據的指針,無法取消引用

注意:void函數內的in參數在C ++中是可選的,因此int myFunc()與完全相同int myFunc(void),并且在C#中完全省略了。返回值始終是必需的。


查看完整回答
反對 回復 2019-11-25
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

我一直認為它是缺席的。這是C語言中與這種用法匹配的四種情況

  • R f(void)缺少功能參數

  • void f(P)-返回值是不存在的

  • void *p-所指對象的類型不存在

  • (void) p缺乏價值使用

其他C后代將其用于其他用途。該D編程語言使用它的情況下的初始化是不存在的

  • T t = void;缺少初始化值


查看完整回答
反對 回復 2019-11-25
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

有兩種使用void的方法:


void foo(void);

要么


void *bar(void*);

第一個指示沒有參數傳遞或沒有參數返回。


第二個告訴編譯器沒有與數據有效關聯的類型,這意味著在將其轉換為已知類型之前,您無法使用指向的數據。


例如,void*當您有一個接口調用一個其參數無法提前知道的函數時,您會發現使用了很多東西。


例如,在Linux內核中,當推遲工作時,您將為函數提供指向要運行的函數的指針和指向要傳遞給該函數的數據的指針,以設置稍后運行的函數:


struct _deferred_work {

sruct list_head mylist;

.worker_func = bar;

.data        = somedata;

} deferred_work;

然后,內核線程遍歷了一系列延遲的工作,當到達該節點時,它將有效地執行:


bar(somedata);

然后在欄中,您將:


void bar(void* mydata) {

    int *data = mydata;

    /* do something with data */;

}


查看完整回答
反對 回復 2019-11-25
  • 3 回答
  • 0 關注
  • 1537 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號