免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VOID和PVOID
  VOID和PVOID  

P表示指針,那么PVOID表示:void *  ---無類型指針

所有指針都是一個(gè)32位二進(jìn)制數(shù)(32位系統(tǒng)下),這個(gè)意義上說所有指針都是一樣的,它們的大小一樣,用于指向內(nèi)存中的某處地址,然而指針為什么要有類型之分呢?答案是指針偏移。例如p為一個(gè)指針,它指向內(nèi)存某處地址,那么p+1(或者寫p[1])是什么意思呢?答案是p指向地址的后面那個(gè)地址,那么后面多少呢?這就看指針類型了,假如它是字符指針,那么就是后面一個(gè)字節(jié),假如它是整型指針,那就是后面第四字節(jié),假如它是一個(gè)結(jié)構(gòu)體,那就是后面sizeof(結(jié)構(gòu)體)個(gè)字節(jié)。可以說,指針有類型之分,完全就是為了計(jì)算地址偏移。這一區(qū)別到了匯編級就沒有分別了,匯編級不存在指針類型,只有指針偏移數(shù)。

那么void 指針是啥呢?答案是無類型指針。干啥用呢?它只是一個(gè)地址指向,從不用計(jì)算偏移(void 了也沒法確定如何偏移了…),它只能指向一整塊內(nèi)存,只能通過它來訪問這塊內(nèi)存,不能用偏移訪問(p 1,p[1]等,千萬不要用在void指針上)。它的好處是什么呢?答案是不用強(qiáng)制轉(zhuǎn)換,任何類型指針都可直接賦值給一個(gè)void 指針,而不用轉(zhuǎn)換。
例如:void *p :
char a :
int b :
p =&a :可以,不用轉(zhuǎn)換
p =&b :可以,不用轉(zhuǎn)換
那么通過p 怎么輸出a和b呢?可以,答案是強(qiáng)制轉(zhuǎn)換。*((int *)p ).*((char *)p )得到了對應(yīng)類型的內(nèi)容。
指針,真靈活……
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【C++進(jìn)階】C++中的空指針和野指針
NULL指針\零指針、野指針
malloc函數(shù)動(dòng)態(tài)分配內(nèi)存
void *類型的變量
為什么說指針是C 語言的精髓?
C++中實(shí)現(xiàn)類回調(diào)的辦法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服