复杂的指针声明

时间:2014-07-15 11:57:34

标签: c pointers

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

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

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

char far *far *scr;

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

但是,我似乎并不了解第二个声明的含义。 这是否意味着src是一个指针,它包含一个指向char的far指针的地址? 如果是这样,则第二个声明是相同的 char far ** src ??

1 个答案:

答案 0 :(得分:0)

我可能会将这些声明视为

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;