自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)于void類型深層探索

開發(fā) 后端
本文將對(duì)void關(guān)鍵字的深刻含義進(jìn)行解說,并詳述void及void指針類型的使用方法與技巧。。

本文將對(duì)void關(guān)鍵字的深刻說明,并詳述voidvoid指針類型的使用方法與技巧,初學(xué)者對(duì)C/C++語言中的voidvoid指針類型不甚理解,因此在使用上出現(xiàn)了一些錯(cuò)誤。。。

1.void的含義
void的字面意思是“無類型”,void類型 *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。void幾乎只有“注釋”和限制程序的作用,因?yàn)閺膩頉]有人會(huì)定義一個(gè)void變量,讓我們?cè)囍鴣矶x:

這行語句編譯時(shí)會(huì)出錯(cuò),提示“illegal use of type 'void'”。不過,即使void a的編譯不會(huì)出錯(cuò),它也沒有任何實(shí)際意義。void真正發(fā)揮的作用在于:
(1) 對(duì)函數(shù)返回的限定;
(2) 對(duì)函數(shù)參數(shù)的限定。
眾所周知,如果指針p1和p2的類型相同,那么我們可以直接在p1和p2間互相賦值;如果p1和p2指向不同的數(shù)據(jù)類型,則必須使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符把賦值運(yùn)算符右邊的指針類型轉(zhuǎn)換為左邊指針的類型。

  1. int function(void)  
  2. {  
  3. return 1;  
  4. }  
  5. 則進(jìn)行下面的調(diào)用是不合法的:  
  6. function(2);  
  7. 因?yàn)樵?FONT>C++中,函數(shù)參數(shù)為void的意思是這個(gè)函數(shù)不接受任何參數(shù)。  
  8. 我們?cè)赥urbo C 2.0中編譯:  
  9. #include "stdio.h"  
  10. fun()  
  11. {  
  12. return 1;  
  13. }  
  14. main()  
  15. {  
  16. printf("%d",fun(2));  
  17. getchar();  

因此,為了避免混亂,我們?cè)诰帉慍/C++程序時(shí),對(duì)于任何函數(shù)都必須一個(gè)不漏地指定其類型。如果函數(shù)沒有返回值,一定要聲明為void類型。這既是程序良好可讀性的需要,也是編程規(guī)范性的要求。

另外,加上void類型聲明后,也可以發(fā)揮代碼的“自注釋”作用。代碼的“自注釋”即代碼能自己注釋自己。規(guī)則二 如果函數(shù)無參數(shù),那么應(yīng)聲明其參數(shù)為void
C++語言中聲明一個(gè)這樣的函數(shù):

  1. int function(void)  
  2. {  
  3. return 1;  
  4. }  
  5. 則進(jìn)行下面的調(diào)用是不合法的:  
  6. function(2);  
  7. 因?yàn)樵?FONT>C++中,函數(shù)參數(shù)為void的意思是這個(gè)函數(shù)不接受任何參數(shù)。  
  8. 我們?cè)赥urbo C 2.0中編譯:  
  9. #include "stdio.h"  
  10. fun()  
  11. {  
  12. return 1;  
  13. }  
  14. main()  
  15. {  
  16. printf("%d",fun(2));  
  17. getchar();  

編譯正確且輸出1,這說明,在C語言中,可以給無參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++編譯器中編譯同樣的代碼則會(huì)出錯(cuò)。在C++中,不能向無參數(shù)的函數(shù)傳送任何參數(shù),出錯(cuò)提示“'fun' : function does not take 1 parameters”。所以,無論在C還是C++中,若函數(shù)不接受任何參數(shù),一定要指明參數(shù)為void。

【編輯推薦】

  1. 如何正確編寫C++項(xiàng)目開發(fā)編寫項(xiàng)目計(jì)劃書
  2. 對(duì)C++庫函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. 深度演示C++語言的種種高安全性
  4. 詳細(xì)介紹如何準(zhǔn)確無誤的編寫C++語言
  5. 深度演示C++語言的種種高安全性
責(zé)任編輯:chenqingxiang 來源: NET130
相關(guān)推薦

2009-12-16 10:23:13

VS.NET

2024-01-29 00:31:09

void指針C++

2010-01-13 17:32:02

C++數(shù)據(jù)類型

2024-12-24 07:20:00

C++std::anyC++17

2024-08-19 09:07:09

TSvoid類型

2024-12-09 12:00:00

Python編程數(shù)據(jù)類型轉(zhuǎn)換

2018-01-03 14:34:40

APM監(jiān)控系統(tǒng)OSGI架構(gòu)實(shí)踐

2010-11-26 12:57:01

2023-08-30 14:08:44

人工智能機(jī)器人

2010-02-06 09:53:26

C++ void

2020-03-04 09:00:00

探索性測試軟件測試敏捷開發(fā)

2024-03-12 17:54:55

容器類型Init

2023-11-21 16:31:51

C++語言

2023-12-12 17:41:05

2013-04-27 10:56:06

云網(wǎng)融合云計(jì)算虛擬化

2023-05-11 13:39:39

EDA數(shù)據(jù)分析

2010-03-19 17:18:07

Java Socket

2009-12-16 09:57:31

家庭無線路由設(shè)置

2021-09-04 00:18:48

比特幣貨幣區(qū)塊鏈

2023-09-20 15:12:09

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)