C语言中类型强制转换后,存储空间地址如何变化?
这样:floatf;ucharc[4]={赋值};float*p;p=(float*)c[0];f=*p;1:那么,现在f的四位存储空间中的值是C[0],C[1],C[2...
这样:float f; uchar c[4]={赋值}; float *p; p=(float*)c[0]; f=*p; 1:那么,现在f的四位存储空间中的值是C[0],C[1],C[2],C[3]么? 2:还是只取地址C【0】里面的值然后后面补零,然后C【1】,c【2】依次往后面挪动; 3:还是取C【0】的值之后,C[1] ,C[2], C[3]被 p=(float*)c[0];之后覆盖; 额,,在这里我一直很搅,感觉似懂非懂,感觉上面这个问题本身就是一个错误问题,但是还是很搅,
展开
2个回答
展开全部
强制类型转换只改变数据的处理方式,无论地址和地址内存储的内容,都不会发生任何改变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主主要是没搞清float和unchar这些不同类型数据所占存储空间的长度吧,地址长度决定一切啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询