免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lemoncookie
打印 上一主题 下一主题

也谈指针,指向内存大小,指针的大小... [复制链接]

论坛徽章:
0
41 [报告]
发表于 2010-10-19 09:32 |只看该作者
回复  davelv


    谢谢!
    我还以为37楼所说的“不同”是指的别的什么方面呢
pmerofc 发表于 2010-10-19 09:27


x86 的32位平坦模式下,指针简洁多了。不像实模式下的又是偏移又是段的~

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
42 [报告]
发表于 2010-10-19 09:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
43 [报告]
发表于 2010-10-19 09:41 |只看该作者
是的,但在C代码的层面基本是感觉不到的(除了那个far)
pmerofc 发表于 2010-10-19 09:36


可以感觉得到,例如你near指针不能分配超过64K的内存,near和far指针不能直接转换等等。
毕竟C语言和平台本身有很大的联系,虽然不能怪到C语言头上,但毕竟是通过C和系统交互,所以还是能感觉到的。

论坛徽章:
0
44 [报告]
发表于 2010-10-19 09:43 |只看该作者
指针和变量是两个概念,指针是一个地址而已。。。你可以定义一个指针变量,但不能说指针就是变量

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
45 [报告]
发表于 2010-10-19 09:51 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
46 [报告]
发表于 2010-10-19 10:12 |只看该作者
回复  davelv


    你的意思我懂,但我绝对不会象你那么说
pmerofc 发表于 2010-10-19 09:51

恩,交流么,不能保证自己句句严格,除非引起了争议情况下,一般都按照通常理解来。
不过我觉得C作为一门操作系统级别的开发语言,不能完全隔离硬件和系统平台去看待,做业务都要联系实际。
虽然语法是语法,业务是业务,但是脱离的业务,语法也就没有存在的意义。

论坛徽章:
0
47 [报告]
发表于 2010-10-19 19:02 |只看该作者
本帖最后由 iLRainyday 于 2010-10-19 19:05 编辑

回复 36# OwnWaterloo

这本书不是专讲C语言的。我说的那段话是来自"type system"这一章中pointers and recursive types这一节,不是特指C中的pointer。

论坛徽章:
0
48 [报告]
发表于 2010-10-20 17:49 |只看该作者
首先,指针就是地址这个概念是不对的

论坛徽章:
0
49 [报告]
发表于 2010-10-20 19:33 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
50 [报告]
发表于 2010-10-20 20:04 |只看该作者
C99:
The unary & operator returns the address of its operand. If the operand has type ‘‘type’’, the result has type ‘‘pointer to type’’.
C++03:
The result of the unary & operator is a pointer to its operand.
有些微妙的区别。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP