linux c之((void *) - 1)是啥意思
生活随笔
收集整理的這篇文章主要介紹了
linux c之((void *) - 1)是啥意思
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、問題
今天看到進程通信通過使用內(nèi)存共享來實現(xiàn),看到了((void *)-1),當時一臉蒙逼,不知道什么意思。
?
2、理解
我一開始以為是空指針減1,自己好傻逼
實際意思是((void *)-1)是把-1轉(zhuǎn)換成指針0xFFFFFFFF
?
3、總結(jié)
當一個函數(shù)返回指針的時候判斷有沒有返回錯誤我們可以經(jīng)常這樣寫
void *p = NULL;p = f1();if (p == ((void *) -1))return false;elsereturn true;?
?
?
?
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的linux c之((void *) - 1)是啥意思的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c之通过消息队列实现进程通信
- 下一篇: linux之进程间通信--使用信号