偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

這行語(yǔ)句編譯時(shí)會(huì)出錯(cuò),提示“illegal use of type 'void'”。不過(guò),即使void a的編譯不會(huì)出錯(cuò),它也沒(méi)有任何實(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è)诰帉?xiě)C/C++程序時(shí),對(duì)于任何函數(shù)都必須一個(gè)不漏地指定其類型。如果函數(shù)沒(méi)有返回值,一定要聲明為void類型。這既是程序良好可讀性的需要,也是編程規(guī)范性的要求。

另外,加上void類型聲明后,也可以發(fā)揮代碼的“自注釋”作用。代碼的“自注釋”即代碼能自己注釋自己。規(guī)則二 如果函數(shù)無(wú)參數(shù),那么應(yīng)聲明其參數(shù)為void
C++語(yǔ)言中聲明一個(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,這說(shuō)明,在C語(yǔ)言中,可以給無(wú)參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++編譯器中編譯同樣的代碼則會(huì)出錯(cuò)。在C++中,不能向無(wú)參數(shù)的函數(shù)傳送任何參數(shù),出錯(cuò)提示“'fun' : function does not take 1 parameters”。所以,無(wú)論在C還是C++中,若函數(shù)不接受任何參數(shù),一定要指明參數(shù)為void。

【編輯推薦】

  1. 如何正確編寫(xiě)C++項(xiàng)目開(kāi)發(fā)編寫(xiě)項(xiàng)目計(jì)劃書(shū)
  2. 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. 深度演示C++語(yǔ)言的種種高安全性
  4. 詳細(xì)介紹如何準(zhǔn)確無(wú)誤的編寫(xiě)C++語(yǔ)言
  5. 深度演示C++語(yǔ)言的種種高安全性
責(zé)任編輯:chenqingxiang 來(lái)源: 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類型

2018-01-03 14:34:40

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

2024-12-09 12:00:00

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

2010-11-26 12:57:01

2023-08-30 14:08:44

人工智能機(jī)器人

2024-03-12 17:54:55

容器類型Init

2020-03-04 09:00:00

探索性測(cè)試軟件測(cè)試敏捷開(kāi)發(fā)

2013-04-27 10:56:06

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

2023-05-11 13:39:39

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

2023-11-21 16:31:51

C++語(yǔ)言

2023-12-12 17:41:05

2010-02-06 09:53:26

C++ void

2021-09-04 00:18:48

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

2010-03-19 17:18:07

Java Socket

2023-09-20 15:12:09

2009-12-16 09:57:31

家庭無(wú)線路由設(shè)置
點(diǎn)贊
收藏

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