免费注册 查看新帖 |

Chinaunix

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

C/C++数组名与指针区别深入探索(转) [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-12-17 17:39 |只看该作者
To zx_wing

很高兴讨论问题。你觉得我说的有问题的地方就指出来,这很正常,不存在什么“挑”不“挑”的问题。

关于你上面问的这个问题,只要明白了 C 或者 C++ 标准把对象的存储期间划分为三类,就能明白我说的了。直接引用原文吧:

An object has a storage duration that determines its lifetime. There are three storage durations: static, automatic, and allocated.

其中,“allocated”就是通常说的“动态分配”。

论坛徽章:
0
22 [报告]
发表于 2006-12-17 17:52 |只看该作者
whyglinux的严谨是大家都知道的,不存在什么“挑”的问题,他只是对事不对人,请zx_wing注意一下,谢谢。

论坛徽章:
0
23 [报告]
发表于 2006-12-17 17:57 |只看该作者
原帖由 converse 于 2006-12-17 17:52 发表
whyglinux的严谨是大家都知道的,不存在什么“挑”的问题,他只是对事不对人,请zx_wing注意一下,谢谢。


不好意思,我新来的,不太了解whyglinux。
这种严谨的态度是需要的,确实是我的表述有误,容易给看贴的人造成误解。
是我浮躁了。

论坛徽章:
0
24 [报告]
发表于 2006-12-17 18:04 |只看该作者
原帖由 whyglinux 于 2006-12-17 17:39 发表
To zx_wing

很高兴讨论问题。你觉得我说的有问题的地方就指出来,这很正常,不存在什么“挑”不“挑”的问题。

关于你上面问的这个问题,只要明白了 C 或者 C++ 标准把对象的存储期间划分为三类,就能明白我 ...


好了,我已经理解分歧了。
关键是我只把“指针变量”称做指针,它所指向的我称为内存。
所以这里你说“动态分配的指针”,我只认为内存是在堆上分配的,而存储这块内存首地址的指针变量是在栈上或静态存储区,而不在堆上。

呵呵,讨论了这么久,看来是我对指针的定义比较狭义,你的比较广义。

论坛徽章:
0
25 [报告]
发表于 2006-12-17 18:35 |只看该作者
>> 关键是我只把“指针变量”称做指针
>> 呵呵,讨论了这么久,看来是我对指针的定义比较狭义,你的比较广义。

这应该就是问题的关键了。C/C++ 中的指针是广义的,只要结果是指针类型的表达式(当让包括变量)都可以称为指针。

然而在标准制定之前,人们确实通常仅仅称指针变量为指针(pointer)。例如 Brian W. Kernighan by Brian W. Kernighan 的名著《The C Programming Language》中就是这么定义指针的:

A pointer is a variable that contains the address of a variable.

其实,在现代 C 语言中,这个定义已经不准确了。但是,由于这本书的影响如此之深远,所以很多人和很多资料上都是这么认为指针的,要注意区分这种情况。

论坛徽章:
0
26 [报告]
发表于 2006-12-17 18:45 |只看该作者
原帖由 whyglinux 于 2006-12-17 18:35 发表
>> 关键是我只把“指针变量”称做指针
>> 呵呵,讨论了这么久,看来是我对指针的定义比较狭义,你的比较广义。

这应该就是问题的关键了。C/C++ 中的指针是广义的,只要结果是指针类型的表达式(当 ...



请允许个人崇拜下...太佩服 whyglinux 严谨和对标准的理解...

论坛徽章:
0
27 [报告]
发表于 2006-12-17 19:22 |只看该作者
xue xi

论坛徽章:
0
28 [报告]
发表于 2006-12-17 19:26 |只看该作者
我觉得没必要讨论这个吧!
这两者的本质显然是不同的,但用起来是差不多的

论坛徽章:
0
29 [报告]
发表于 2006-12-17 21:42 |只看该作者
玩这种概念性的东西真有很有意义吗?

论坛徽章:
0
30 [报告]
发表于 2006-12-17 23:13 |只看该作者
堆跟栈有什么区别啊??? 谁来解释一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP