Confusion on pointer

black_snail 2002-09-30 01:51:16
define FP_SEG(fp) (*((unsigned *)&(fp)+1))
define FP_OFF(fp) (*((unsigned *)&(fp)))

char far * tab;
unsigned int ttseg;
long ttlen;

main()
{
.............
F_1(arg1,&ttseg,&ttlen); /* ttseg = Segment Address
ttlen = Segment length */
FP_SEG(tab) = ttseg;
FP_OFF(tab) = 0;
................

}

Assume the application is like that , What's the functionality of
FP_SEG(tab) = ttseg;
FP_OFF(tab) = 0;

It's running understand MC6.00 + DOS
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxm954712 2002-11-04
  • 打赏
  • 举报
回复
define FP_SEG(fp) (*((unsigned *)&(fp)+1)) 表示:
先对指针fp取地址,然后把fp的地址转换成unsigned型,加1,然后取它的值.
define FP_OFF(fp) (*((unsigned *)&(fp)))
对指针fp取地址,然后强制转换成unsigned型,取值
Iamme 2002-09-30
  • 打赏
  • 举报
回复
far 指针的段地址和段长度?
black_snail 2002-09-30
  • 打赏
  • 举报
回复
Means ?
jfguo 2002-09-30
  • 打赏
  • 举报
回复
define FP_SEG(fp) (*((unsigned *)&(fp)+1))
define FP_OFF(fp) (*((unsigned *)&(fp)))

不是有定义吗

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧