首页 > 学院 > 开发设计 > 正文

linux c之((void *) - 1)是啥意思

2019-11-08 01:52:26
字体:
来源:转载
供稿:网友

1、问题

今天看到进程通信通过使用内存共享来实现,看到了((void *)-1),当时一脸蒙逼,不知道什么意思。

2、理解

我一开始以为是空指针减1,自己好傻逼

实际意思是((void *)-1)是把-1转换成指针0xFFFFFFFF

3、总结

当一个函数返回指针的时候判断有没有返回错误我们可以经常这样写

void *p = NULL;p = f1();if (p == ((void *) -1))    return false;else    return true;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表