关于指针类型转换的思考
来源:互联网 发布:spss19.0数据分析教程 编辑:程序博客网 时间:2024/05/31 19:33
void main(){char *p="a";int a = 10;p = (char *)a;cout << int(p)<< endl;}
首先看上述这一段代码,
定义一个char类型的指针p,
然后将int型的变量a经过强制类型转换后,变为char *类型,并且将其赋值给p,
这时我们将p用强制类型转换成int型后输出,输出结果为10。为什么一个指针直接转换成int型就可以输出类型转换之前的值呢?
按照我的最初的想法应该是 通过*((int *)p),将char类型的指针转换成int型的指针,而后取值,但这样做编译器会报错。
经过思考后发现,指针里保存的是地址,而int型的值经过强制类型转换后,
会将这个值本身当成地址存储起来,也就是说,char *p中,p这个时候保存的地址是10,而我们对这个地址进行取值当然会报错了,这也进一步说明了,为什么可以直接用(int)类型转换后输出原本int的值了。
0 0
- 关于指针强制类型转换的思考
- 关于指针强制类型转换的思考
- 关于指针类型转换的思考
- 指针的强制类型转换思考
- 关于指针强制转换的思考
- 关于指针的思考
- C++类型转换的思考
- 关于空指针的思考
- 关于指针的一点思考
- 关于this指针的思考
- 指针类型与指针类型的转换
- 关于函数指针类型强制转换的一些摸索
- 关于指针类型转换的一个有趣实验
- 关于结构体指针类型转换的小结
- 指针的强制类型转换
- 指针的强制类型转换
- 指针的强制类型转换
- C++的指针类型转换
- android statelistdrawable基本设置
- Django:Model的Filter
- HDOJ 2105 The Center of Gravity(超级水题)
- Android Http请求方法汇总
- 关于直连线和交叉线(小记)
- 关于指针类型转换的思考
- 基于SpringAOP的数据库读写分离实现
- php 递归函数
- 7.java设计模式(读书笔记)原型模式
- shape 实现圆形、圆角矩形
- jquery设置元素的readonly和disabled
- View 中requestLayout 和 invalidate,postinvalidate() 区别
- GPS坐标转换为百度坐标 js封装
- Python的装饰器和with语法