首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个C语言比较偏僻的有关问题

2012-09-17 
一个C语言比较偏僻的问题typedef unsigned char*PBYTEtypedef unsigned shortWORDstatic WORD OSDMenuID

一个C语言比较偏僻的问题
typedef unsigned char *PBYTE;
typedef unsigned short WORD;

static WORD OSDMenuID;


void MenuMessageControl(void)
{
PBYTE pID = (PBYTE)&OSDMenuID;

if (DEMO_GetGraphicDisplay()==ON) return;

if (pID(0)==0) SetOSDMenuID(OSDMenuID|0x1000);
else if (pID(1)&0xff) SetOSDMenuID(OSDMenuID&0xff00);
else if (pID(0)&0x0f) SetOSDMenuID(OSDMenuID&0xf000);
else SetOSDMenuID(OSDMenuID&0x0000);
}

pID(0) pID(1)该怎样理解???

[解决办法]
没这样的写法吧,函数不像函数,数组不像数组。
[解决办法]
很简单, 写错了!
[解决办法]
该不是作为下标操作吧
[解决办法]
没有任何错误,用字符串就是一个字符数组,用这个存储一个状态数值,
转换而已,这样的编程风格属于C语言很普遍的。
[解决办法]
很普遍?我怎么很少见?一般来说更多的会用[]而不是()。不知道在那些代码会普遍的使用这种写法?
[解决办法]

探讨

引用:
很简单, 写错了!

没有写错啊,用keil可以编译通过。但用codeblock编译报错。

[解决办法]
不带这样骂人的哈,呵呵。
探讨

引用:

现在清楚了,少看了下面的条件,哈哈
#definepID(x)pID[((x)? 0:1)]
…你妹啊

热点排行