void的乙個用途

2022-03-31 13:07:05 字數 333 閱讀 7202

今天看到一段案例**,覺得挺有意思的:

void ouch(int sig)

這裡在signal函式前寫了void,到底為啥要寫呢?在網上隨便搜尋了一下,沒有找到相關的回答。

自己思考了一下,得出了乙個自以為是的結論:

!!!note

void不能用來定義型別,但是卻可以做乙個表態,即表態signal函式,沒有必要考慮它的返回值。

另外,在定義乙個變數而未使用時,通常會有乙個warning,也可以通過這樣的方式去避免warning:

(void)a; // 沒有任何效果,但是避免了warning

C語言中void 和C 中void 的乙個區別

1 在c語言中,型別檢查不是很嚴格,因此可以將void 賦值給 type c檔案中 int a 0 int ptr a void ptr1 ptr int ptr2 ptr1 允許將void 型別賦值給int 不會報錯2 在c 中型別檢查比較嚴格,因此不允許將void 賦值給type cpp檔案中 ...

delete乙個void 指標 不呼叫析構函式

乙個類物件,當生命週期結束時,該物件會呼叫自身的析構函式。乙個類的指標,當使用delete函式來刪除該指標時,會呼叫該指標當前型別的析構函式。比如 classb pclass classb new classa delete pclass 儘管該指標實際上是 class a 型別,但將其轉換為 cl...

void函式內建立並返回乙個結構體

分析 首先,結構體在函式體內定義,並能將該結構體返回。所以不能定義結構體變數,這樣函式結束該結構體變數就銷亡了,只能通過malloc申請乙個結構體內存,使用結構體指標。其次,該函式無返回值,只能通過引數的形式,將結構體指標返回。最後,通過形參改變實參值的方式有兩種 傳引用 傳指標。不存在對指標變數的...