A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© x65396731 中级黑马   /  2014-9-2 17:17  /  915 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有些想不通,
老师说指针的类型决定了指针取值时的字节数,所以一个char类指针如果改为int类的。里面的数值就会改变。
这里我就想不通了,既然已经规定所有指针类型都是占用8个字节了,那char类指针为什么在内存只占用了一个字节呢?不是都应该占用了8个字节吗?求解释,谢谢!

2 个回复

倒序浏览
所有的指针都是8个字节,但是指针所指的数据类型所占的字节不一样..指向int类型,就只取2个字节.
当用指针取值的时候,指针只会取出来那两个字节的数值.
如果一个float型的指针指向一个double型的数据,那么取出来的值,就会或缺头或少尾了..
我这样说,能清楚了吗
回复 使用道具 举报 1 0
已搞懂,谢谢~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马