c 中强制转化详解

来源:互联网 发布:mac pro 2016电池容量 编辑:程序博客网 时间:2024/05/23 17:11

c 中有许多强制转化, 下面我们就详细的解释一下强制转化。

 首先 我们的理解强制:

            1. unsigned long a;   int b = (int )a;  // 如何理解

            2. void *p ;   int *c=(int *)p; //  如何理解?


理解1 : 关于整型变量 只需要记住一点就好了 变量的地址中存的就是变量的值 这样就好理解了 强制转化。 关于long 和int之间的转化需要看pc的大小端。

理解2: 主要要理解指针地址中存的是一个地址值(要明白 char *p 中p代表地址 *p代表取地址中的值)。 所以指针的强制就是把地址对应的值强制转换。



 Notes: 常见的指针前置转换 处理整型指针之间的强转,大多数情况下都是和void *之间转换。