强制指针类型转换

关于强制指针类型转换的问题,我一直以为对这个东西还是比较理解,现在看来,不是这么一回事情,因为,我碰到了点问题。
先别管问题,先巩固一下基本知识点。
#define   get_base(ldt)   _get_base( ((char *)&(ldt)) )
这个意思就是说,先取ldt的地址值,然后用(char *)强制类型转换,首先要知道,内存里面存的内容都是二进制编码,我们这个用(char *)强制类型转换只是提示我们将来读这一片内存中的内容的时候,按char类型去解释,去组合。
可是,我碰到了一个问题

我在cpue中碰到这么一个函数:
void* thr_fun()
{
   pthread_exit ((void*)1);
}

对于(void*)1  我不是很理解。
我暂且是这么理解的,就是 地址值为1的内存 转换为void类型的指针,可是,在linux系统中,难道这个地址值为1的地方不要用吗?可以这样强制指定一个特定的地址值吗?

很不理解,暂且放在这里,有空再研究。

本文出自 “nnssll” 博客,谢绝转载!

你可能感兴趣的:(职场,休闲,(void*)1)