英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: C语言赋值的问题 [打印本页]

作者: winnie    时间: 2009-3-28 10:32
标题: C语言赋值的问题
代码如下:
  unsigned int page;
       unsigned char flash[2];
      flash[0]=page&0x00ff;
      flash[1]=page>>8;
请问各位能不能这么写,我写了以后编译时给了个warning。不知道跑起来会不会影响
这里是将int拆解为两个char(高位和低位).虽然我可以用union联合,但是使用联合对我整体程序调用不利,故采用这一办法。
作者: winnie    时间: 2009-3-28 10:33
这个问题是W77E58的,51系列的。warning说,"变量:different types"
作者: winnie    时间: 2009-3-28 10:33
改成這樣應該就不會有 warning 啦

unsigned int page;

unsigned char flash[2];

flash[0] = (unsigned char) page;  // 用 type casting 直接取出低字節

flash[1] = page>>8;




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2