
谁能帮我解释一下下面的C程序?谢谢了
typedefstructtagPT_Message{BYTEbuffer[BUFFER_SIZE];WORDlength;FILETIMEtimestamp;BOOLo...
typedef struct tagPT_Message
{
BYTE buffer[BUFFER_SIZE];
WORD length;
FILETIME timestamp;
BOOL ok;
}PT_Message, far* LPT_Message;
特别是far* LPT_Message是做什么用的饿? 展开
{
BYTE buffer[BUFFER_SIZE];
WORD length;
FILETIME timestamp;
BOOL ok;
}PT_Message, far* LPT_Message;
特别是far* LPT_Message是做什么用的饿? 展开
展开全部
前面的typedef和后面的far* LPT_Message配合起来为结构体tagPT_Message起了个“远指针别名LPT_Message”。以后就可以用形如LPT_Message p;这样的写法来声明指向结构体tagPT_Message的远指针了,等价于struct tagPT_Message far* p;。看,同样是声明一个远指针p,写起来方便多了。至于“远指针”可以不在意了,现在的平台好像都是远指针了,所以没有必要写成far* LPT_Message;而只需写成*LPT_Message;就完全可以了……

2023-06-12 广告
MAIN: MOV SP,#50H MOV DPTR,#TAB;读入字模指针 MOV 30H,DPL; 存起来 ;堆栈低8位 MOV 31H,DPH ;堆栈高8位 MOV 32H,30H;再记录指针,留作移动了多少位的判断 用。 MOV 3...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
把struct tagPT_Message定义为PT_Message
把struct tagPT_Message far *定义为LPT_Message
以后你就可以直接这样申明变量
PT_Message Msg1; //声明一个struct tagPT_Message类型的变量
LPT_Message pMsg //struct tagPT_Message *类型的变量
至于far是所谓的远程指针,应该是老的平台下面遗留下来的问题,和指针长度有关,你可以不用特别去管他。
把struct tagPT_Message far *定义为LPT_Message
以后你就可以直接这样申明变量
PT_Message Msg1; //声明一个struct tagPT_Message类型的变量
LPT_Message pMsg //struct tagPT_Message *类型的变量
至于far是所谓的远程指针,应该是老的平台下面遗留下来的问题,和指针长度有关,你可以不用特别去管他。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
far* LPT_Message和你前面的pt_message一样,都是对象,只不过这个是个指针对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是给结构体tagPT_Message取的一个新名字叫做far* LPT_Message吧,就是以后就把far* LPT_Message当做tagPT_Message用,就像PT_Message也是tagPT_Message的别名一样。不知道是否正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询