C void基礎概念講述

2021-06-21 02:57:18 字數 1276 閱讀 7917

c++ void意思是指無型別。那麼void指標則是無型別指標。他們的基本概念我們將會在這篇文章中為大家詳細介紹。

c++程式語言中的很多概念都值得我們去不斷的學習,不斷的從中積累經驗以幫助我們在程式編寫時獲得更大的幫助。比如今天為大家介紹的c++ void就是ige比較重要的內容。許多初學者對c++ void及void指標型別不甚理解,因此在使用上出現了一些錯誤。本文將對void關鍵字的深刻含義進行解說,並詳述void及void指標型別的使用方法與技巧。

void的字面意思是「無型別」,void *則為「無型別指標」,void *可以指向任何型別的資料。

void幾乎只有「注釋」和限制程式的作用,因為從來沒有人會定義乙個void變數,讓我們試著來定義

void a;

這行語句編譯時會出錯,提示「illegal use of type 'void'」。不過,即使void a的編譯不會出錯,它也沒有任何實際意義。

c++ void真正發揮的作用在於:

(1) 對函式返回的限定;

(2) 對函式引數的限定。

眾所周知,如果指標p1和p2的型別相同,那麼我們可以直接在p1和p2間互相賦值;如果p1和p2指向不同的資料型別,則必須使用強制型別轉換運算子把賦值運算子右邊的指標型別轉換為左邊指標的型別。

例如:

float *p1;  

int *p2;

p1 = p2;

其中p1 = p2語句會編譯出錯,提示「'=' : cannot convert from 'int *' to 'float *'」,必須改為:

p1 = (float *)p2;

而void *則不同,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換:

void *p1;  

int *p2;

p1 = p2;

但這並不意味著,void *也可以無需強制型別轉換地賦給其它型別的指標。因為「無型別」可以包容「有型別」,而「有型別」則不能包容「無型別」。道理很簡單,我們可以說「男人和女人都是人」,但不能說「人是男人」或者「人是女人」。下面的語句編譯出錯:

void *p1;  

int *p2;

p2 = p1;

提示「'=' : cannot convert from 'void *' to 'int *'」。

以上就是對c++ void的一些基本介紹。

C 基礎概念講述

目錄 首先,通過一張最新 2021.11 的程式語言排名圖來了解常見的程式語言 從圖中可以看出,c 的排名相對於python j a c來說並不突出,很大的原因是因為c 難度過大,也可以說是知識點太多,我們很難說能精通c 這門語言,只能說對它的部分了解,並能在工作中使用 1 cppreference...

python基礎概念 python基礎概念

當你輸入name input 並按下回車後,python互動式命令列就在等待你的輸入了。這時,你可以輸入任意字元,然後按回車後完成輸入。要列印出name變數的內容,除了直接寫name然後按回車外,還可以用print 函式 以 開頭的語句是注釋,注釋是給人看的,可以是任意內容 整數python可以處理...

MOS場效電晶體基礎知識講述

mos場效電晶體 irf640ns即金屬 氧化物 半導體型場效電晶體,英文縮寫為mosfet metal oxide semiconductor field effect transistor 屬於絕緣柵型。其主要特點是在金屬柵極與溝道之間有一層二氧化矽絕緣層,因此具有很高的輸入電阻 最高可達101...