最近,我遇到一个问题,问这两个声明之间的区别。

char far *far *scr;
char far far **scr;


现在,我知道在第一个声明中,

char far *far *scr;


src是一个far指针,它包含一个指向char的far指针的地址。
即src是指向char的far指针的far指针。

但是,我似乎不明白第二个声明的含义。
这是否意味着src是一个指针,其中包含指向char的far指针的地址?
如果是这样,那么第二个声明与
char far ** src ??

最佳答案

我可能会读那些声明为

char far *far *scr;
// scr is a far pointer to a far pointer to char
// char (far *)(far *)scr;

char far far **scr;
// scr is a pointer to a far far pointer to char
// char (far far *)*scr;

10-08 01:02