免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
11 [报告]
发表于 2010-10-14 16:12 |只看该作者
>x86系统上,C语言指针应该是32位
>也就是一个指针占用4个字节
这不一定吧。

>一般来说指针都指向一个堆上动态分配的空间
一般说来不一定。

论坛徽章:
0
12 [报告]
发表于 2010-10-14 16:19 |只看该作者
回复 11# 狗气球

>x86系统上,C语言指针应该是32位
>也就是一个指针占用4个字节
这不一定吧。

恩,标准C没有规定指针的值必须是一个地址来着。
详情可以参考C:A Reference Manual 5.3.3和6.1

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

论坛徽章:
0
14 [报告]
发表于 2010-10-14 22:16 |只看该作者
>x86系统上,C语言指针应该是32位
>也就是一个指针占用4个字节
这不一定吧。

>一般来说指针都指向一个 ...
狗气球 发表于 2010-10-14 16:12



嗯,一般说来很少有一定的事,那也麻烦回复时看清别人有没有说一定
另外,您这两句话说了等于没说,"那也不一定"可以用来回复90%的帖子,是吧

其实我最主要的意思是要说:首帖中引用的那篇帖子的lz给的代码不能说明指针要包含什么内存大小什么的
只想大概解释一下指针指向堆对象时是怎么回事
堆数据的管理与指针没什么关系,除了释放的时候使用指针做了参数

一时手贱,多打了几句关于指针的废话

论坛徽章:
0
15 [报告]
发表于 2010-10-14 22:24 |只看该作者
&pid
回复  lemoncookie


    我的看法是,只要是指针类型的表达式就可以称之为指针,不管是不是变量
pmerofc 发表于 2010-10-14 11:21


本不想多事
看到您多次提到这个论调
还是问问吧

表达式是否有类型
本人现存疑
您比较喜欢翻标准翻一个给俺看看,俺就不去查了

先问一下
  1. short i;
  2. char c;
复制代码
那么c+i是什么类型?
我写
  1. int x = c + i;
  2. char y = c + i;
  3. if ((c+i) ==10)
  4. if ((c+i) > 10.0)
复制代码
等等是不是意味着同样的表达式有不同的类型?
所以我认为类型是变量的属性
暂存疑吧

论坛徽章:
0
16 [报告]
发表于 2010-10-14 22:28 |只看该作者
吃火药拉?我感觉指针就是指针变量,地址不算指针
论坛ID 发表于 2010-10-14 15:53



    我觉得ls几位说的没什么异常啊
    吃火药的是谁?

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

论坛徽章:
0
18 [报告]
发表于 2010-10-14 23:34 |只看该作者
回复 17# pmerofc


    嗯,俺还真蛋疼地去看标准...

    您是对的,表达式是有类型,俺也不习惯从标准的角度去考虑问题
    而且提到表达式第一感觉也就是变量计算的所谓复合表达式,呵呵

    俺只是觉得表达式有类型与俺的直觉不符合
    简单地想,同样的表达式可以赋值给不同类型的变量
    那么一个东西有多个类型是违背俺直觉的
    事实上,俺先前的想法是表达式的结果是一个值
    这个值可以有类型,也可以在赋值时类型转换
    其实这个值的类型就是表达式的类型,这个弯很好转

    这与俺根深蒂固的类型是变量的属性这一想法其实并不冲突
    表达式,如果不是一个变量名的话,如果是那种复合表达式的话,我可以理解成一个匿名变量

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

论坛徽章:
0
20 [报告]
发表于 2010-10-15 08:31 |只看该作者
回复 16# lemoncookie


    你可以去看lz贴出的链接
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP