在c语言中int i k d,c语言int *pInt=(int *)&d; 什么意思?

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

OooO羊OooO

2018.10.26

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:44%    等级:12

已帮助:20767人

//这句是数值赋值。使用了类型转换,double类型转int类型时,只取double的整数部分。,所以x=100

int x = d;

//这句是指针赋值。double类型的指针,强转为int类型的指针时,其实指针的位置没有变化,但是含义变了;

//double指针表示从指针开始的往后8个字节,存的是double格式;int指针表示从指针开始往后的4个字节,存的是int格式

//那么这里从指针开始往后的4个字节,是什么内容呢?

//d=100.25,对应的16进制是:0x4059 1000 0000 0000

//所以从指针开始往后的4个字节,要么是:4059 1000,要么是:0000 0000。

//这和你系统是大端模式(内存低地址放的是权值高的位),还是小端模式有关(内存低地址放的是权值低的位)。

//你的系统是小端模式的,所以从指针开始往后的4个字节是:0000 0000

//你的系统是大端模式的,所以从指针开始往后的4个字节是:4059 1000

//这了控制台输出了0,所以可以断定,你的系统是小端模式,指针开始往后的4个字节是:0000 0000

int *pInt=(int *)&d;

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值