关于C中的指针
about Pointers in C
我开始阅读一些关于C中指针的文章,其中有一个例子我不理解。以下代码的输出应该是什么。。??
main()
{
char far *s1 ,*s2;
printf("%d,%d",sizeof(s1),sizeof(s2));
}
输出-4,2
根据我的说法,两个sizeof()函数返回的值应该是4,因为一个远指针有4字节的地址。
但解决方案手册中的答案是4,2。有人能解释吗??有人能解释一下吗???
这与编写相同
char far *s1;
char *s2;
the "far" is not distributed across all variables, e.g.
char far *s1, ch;
far在正常字符ch上没有意义。
因此,s2不是一个"远"指针,而是作为一个"近"指针处理的,它在您的目标中是16位宽的。
相关文章:
- 关于C++中具有多重继承"this"指针的说明
- 关于 c++ 函数中指针赋值的简单问题
- C++ 关于指针取消引用的技术问题
- 关于指向指针数组的指针
- 关于如何使用指向主窗口的指针的 QT 问题
- C++关于指针和使用函数将它们启动到堆的行为究竟是什么?
- 关于reinterpret_cast和指针
- C++关于使用的指针
- 初学者关于数组和指针的问题
- 关于函数返回指针
- 返回带或不带 *this 的变量的确切方式不同 |这不是关于*此指针|正确性
- C++关于传递对象(指针与引用)的约定
- 再次C++函数指针.关于语法的混淆
- 关于Lambdas,转换以功能指针以及私人数据成员的可见性
- 我的问题是关于类成员函数作为类指针的返回类型
- 关于C++中指向数据成员的指针的一些混淆
- 关于将指针作为参数传递到函数:它实际上在函数中创建了新的指针
- 关于使用共享指针的评估顺序
- 关于涉及唯一指针的安全操作
- 有人能告诉我这是如何在main()中实现的吗?(关于无效指针的问题)