c语言,请问划线这句话c语言中 什么意思思?

int i=*(int *)&x; 这句话在c语言里面是什么意思?_百度知道
int i=*(int *)&x; 这句话在c语言里面是什么意思?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自知道合伙人认证行家
数学类行家
采纳数:17557
获赞数:33269
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……
int i=*(int *)&x;相当于int i=x;功能是把x的值赋给i*(int *)&x,其中&x是对变量x的地址,(int *)把它转化成int型指针,最前面再加上一个*进行解引用,结果就是变量x的值。
这个和 i=x有什么区别吗?
如果x也是int型变量,那么可以认为二者等价!如果x不是int型变量,比如是float型变量,那么语句int i=*(int *)&x;执行后,i的值会变得很神奇(可能会让你惊讶)而语句int i=x;执行后,i的值是对x的值取整,举个例子,看以下代码:#include&&stdio.h&int&main(void){&&&&float&x=3.5;&&&&int&i=*(int&*)&x;&&&&printf(&%d\n&,i);&&&&return&0;}以上程序的结果,输出i的值应该是以1开头的很大的整数,而把语句int i=*(int *)&x;改成int i=x;后,输出i的值为3
My_Persistence
来自电脑网络类芝麻团
My_Persistence
采纳数:777
获赞数:1267
参与团队:
&x:表示取变量x的地址值,地址即指针。(int *)&x:表示将&x指针强制转换为int *类型指针。int i = *(int *)&x:表示取首地址是&x的内存空间中int类型的值(int类型是占4个字节的内存空间的),将该值赋值给整型变量i。
这个和 i=x有什么区别吗?
本回答被网友采纳
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言编程中,图中划线部分是什么含义?_百度知道
C语言编程中,图中划线部分是什么含义?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
获取输入的字符,赋予grade ,grade值不等于结束符 ,则执行while循环
是不是只有输入EOF才结束了循环
遇到EOF结束循环, 关于EOF的解释 ,参考百科
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言中这句话是什么意思GPIOB_百度知道
C语言中这句话是什么意思GPIOB
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:29
获赞数:11
擅长:暂未定制
这个是定义的变量 没什么意思 看你什么定了!stm32定这个为端口B
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c语言 这两句是什么意思?_百度知道
c语言 这两句是什么意思?
#defineDEFC(name,address)__no_initvolatileunsignedcharname@#defineDEFC(name,address)sfrbname=他们中间还有一些,我没粘贴!!!这是430单片机中的程序!!!!...
#define DEFC(name, address) __no_init volatile unsigned char name @#define DEFC(name, address) sfrb name =他们中间还有一些,我没粘贴!!!这是430单片机中的程序!!!!!!!
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:101
获赞数:607
#define P1OUT_ (0x0021) /* Port 1 Output */DEFC( P1OUT , P1OUT_)我理解的是预定义一个地址常量P1OUT_
对应的地址为 0x0021DEFC( P1OUT , P1OUT_)这个的意思是在P1OUT_ 定义的地址开始处,定义一个字节的变量,变量名字为P1OUT(当然也可以你自己定义其他的名称),也就是P1OUT和P1OUT_是一样的(相同的地址名字不同而已)DEFW(XXX,XXX_)是字(2字节)的定义
采纳数:81
获赞数:302
擅长:暂未定制
TL0 += ((65536 - 50000) + 9) % 256; 就是说TL0=TLO+((65536 - 50000) + 9) % 256;((65536 - 50000) + 9) % 256;就是说之后再加9也就是说 ,%就是取馀数也就是说15545除以256之后的馀数整个也可以说成TL0=TL0+(15545除以256之后的馀数)TH0 += ((65536 - 50000)+ 9) / 256 + (char)CY; 可以看成TH0=TH0+((65536 - 50000)+ 9) / 256 + (char)CY; 这个((65536 - 50000)+ 9) / 256应该懂吧..就是取商数(char)CY;这个呢...CY是一个位元的标志符号前面加(char)就是强制转换成字符形式的数据整个来说就是TH0=TH0+取得的商数+强制转换之后的CY
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。这是两个函数!
一个是srand函数!这是在调用rand()这个函数之前使用的!rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两个函数是一起使用的!来完成产生随机数的功能!
而time(NULL)这个函数的返回值是作为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至于NULL这个参数,很简单因为这个话就返回到现在时间时候的long秒,只有设置成NULL才能获得系统的时间!
阅读(...) 评论()

我要回帖

更多关于 c语言char是什么意思 的文章

 

随机推荐