指针类型的变化
来源:互联网 发布:绣花软件分哪几种 编辑:程序博客网 时间:2024/05/16 17:54
#include <STDIO.H>int main(){//无符号整型,4个字节unsigned int a = 0xFFFFFFF7;//无符号整型强制转化为无符号char型,只保留最低一个字节,所以i的值为0x000000f7unsigned char i = (unsigned char)a;//注意!!!!该步骤只是将一个unsigned int型的指针强制转化为一个char型的指针,所以改变的//只是指针变量a的指针的寻址方式,原来指针为int*时,地址+1相当于加4个字节而现//在指类型为char*,则地址+1相当于+1个字节。char* b=(char*)&a;//*b取的还是一个整型变量printf("%0.8x,%0.8x\n",i,*b);}
分析:unsigned int 变量赋值给unsigned char 3个字节将会被截断为1字节(3位和高于3位的将被程序自动丢弃)。
第二个数,等价于 unsigned int *p = &a; char *b = (char*)p;
这句的意思是将unsigned int 型的指针强制转换为char型的指针。注意:这是char类型的指针转换,而不是char类型的转换。
这样转换的结果为
p+1 = x + 1*sizeof(int) = x + 1*4 =x+4;
b+1 = x+1*sizeof(char) = x + 1;
影响的是指针的寻址。
- 指针类型的变化
- 函数多态性带来的指针的变化
- 指针类型与指针类型的转换
- const和指针组合的变化
- css实现鼠标指针的变化
- VC++读取txt文件指针的变化
- 指针的类型
- 简单的指针类型
- const”类型的指针“
- 指针的类型
- 指针类型的幻觉
- 指针的类型
- 指针类型的应用
- 指针类型的应用
- 指针的类型
- this指针的类型
- 指针类型的函数
- 指针的类型问题
- 寻梦之黑马站
- 系统性能优化分析—CPU消耗
- SSH BruteForcer Source code
- ubuntu下安装Tcpdump并使用
- 全文检索原理
- 指针类型的变化
- Eclipse界面语言的切换方法
- XML之DTD Schema总结
- 慢慢来,一切都来得及
- webservice远程测试显示"测试窗体只能用于来自本地...
- NavigationController导航栏中添加多个UIBarButtonItem
- 路由器和交换机的一些基本概念
- GMF中,创建向导页
- broke girls 2.9/10