读书人

在“C跟指针”中一段看不懂望大侠指教

发布时间: 2013-08-11 22:22:29 作者: rapoo

在“C和指针”中一段看不懂望大侠指教
在“C跟指针”中一段看不懂望大侠指教
1.怎么都看不懂xyz()的值是怎么变的?
2.
float f
....
f=xyz()为什么看不见xyz()原型?
不懂望大家指点一下,O(∩_∩)O谢谢!!

1.怎么都看不懂xyz()的值是怎么变的?
2.
float f
....
f=xyz()为什么看不见xyz()原型?
不懂望大家指点一下,O(∩_∩)O谢谢!!

1.不同类型的数据,它们保存在内存里的都是01串,这个01串具体代表什么值,取决于变量的类型,根据它的类型,系统才知道怎样解读这个01串
打个比方,假设0001代表整数值的1,或浮点数的0.5
xyz()函数返回了一个浮点数的0.5,也就是0001,但是由于没有原型,系统不知道它返回的0001是什么类型,于是默认按整数解读为1,这个1又被赋值给float f,于是产生一次类型转换,变成1.0了

2.原型指的是float xyz(参数表)这个东西,这里只是把xyz返回值赋给了float变量,并不代表返回值就是float型
[解决办法]
后半句已经给出了解释啊!
一串二进制码字如何解释靠值的类型。值是确定的,这是它内在的本质属性。但是怎么解析它靠值的类型,它不是本质属性。

打比方说:一件成品衣服,它的本质属性就是固定的款式,颜色,尺寸;对于帅哥(MM)如何穿,穿上好看、帅,那么这好看,如何穿,帅不帅不是衣服的本质属性,而是外界定性的,不是衣服自身具有的东西。之所觉得帅好看,只是按照你的“标准”定性的。换个人换个时代,换个环境,同样一件衣服,估计就变成难看了!因此,这不是衣服固有的属性。在这里,衣服就是二进制串,如何定性就是值的类型!

这样解释能明白吗?

读书人网 >C语言

热点推荐