关于C中的指针
我开始阅读一些关于C中指针的文章,我有一个我不明白的例子。 以下代码的输出应该是什么.. ??
main() { char far *s1 ,*s2; printf("%d,%d",sizeof(s1),sizeof(s2)); }
OUTPUT-4,2
根据我的说法,sizeof()函数返回的值应该是4,因为far指针有4个字节的地址。
但解决方案手册中的答案是4,2。 谁能解释一下? 任何人都可以解释> ???
这和写作一样
char far *s1; char *s2; the "far" is not distributed across all variables, eg char far *s1, ch;
对普通人物来说,没有任何意义。
因此,s2不是“远”指针,而是作为“近”指针处理,指针在目标中为16位宽。