免费注册 查看新帖 |

Chinaunix

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

特邀专家在线答疑——名不正则言不顺 一网打尽C语言基本概念 [复制链接]

论坛徽章:
0
221 [报告]
发表于 2011-05-19 10:20 |只看该作者
我听到有人说过数组名是一个经过const修饰过的变量。
既然这样的话数组名会占用存储空间吗?
我尝试过对数组名取地址,这个动作没有出错,取出来的地址令人惊讶,和它本身的值相同。
也就是说一个指针指向的地址存储了指针本身,不解,求答案解析。。。。。谢谢!

论坛徽章:
0
222 [报告]
发表于 2011-05-19 10:21 |只看该作者
现在回答 还有人看到吗
scriptRaytheon 发表于 2011-05-19 10:16



    pardon?

论坛徽章:
0
223 [报告]
发表于 2011-05-19 10:21 |只看该作者
有啊,我正在看

论坛徽章:
0
224 [报告]
发表于 2011-05-19 10:29 |只看该作者
我听到有人说过数组名是一个经过const修饰过的变量。
既然这样的话数组名会占用存储空间吗?

这个说法很值得推敲
数组名在作为右值使用的时候“相当于”一个const修饰过的指针(变量),
作为“变量”(左值)的含义却不是这样,作为变量,数组名不是“经过const修饰过的”
场合不同,意义不同

我尝试过对数组名取地址,这个动作没有出错,取出来的地址令人惊讶,和它本身的值相同。
也就是说一个指针指向的地址存储了指针本身,不解,求答案解析。。。。。谢谢!

这个一点也不让人惊讶
但“对数组名取地址”、和“它本身的值”
这里的两处数组名完全是在不同场合下的不同含义
更详细的
您可以看一下
http://blog168.chinaunix.net/spa ... o=blog&id=35437

论坛徽章:
0
225 [报告]
发表于 2011-05-19 10:35 |只看该作者
非常感谢,你的这番话,让我想起《C专家编程》里的一些内容

论坛徽章:
0
226 [报告]
发表于 2011-05-19 10:35 |只看该作者
回复 224# KBTiller


    非常感谢,你的这番话,让我想起《C专家编程》里的一些内容

论坛徽章:
0
227 [报告]
发表于 2011-05-19 10:35 |只看该作者
回复 225# czqbest


    不客气

论坛徽章:
0
228 [报告]
发表于 2011-05-19 14:58 |只看该作者
回复 11# txdgtwpv


    这个跟编译器所使用的标准是有关系的,并且很多编译器都会做优化处理。比如我们写两个 for (int i = 0; i < n; i++){ //do something },有的编译器会报错,提示变量i重复定义,有些编译器会进行优化,使的i的作用范围仅限于定义它的for循环体内。

论坛徽章:
0
229 [报告]
发表于 2011-05-20 07:20 |只看该作者
3.13
implementation limit
restriction imposed upon programs by the implementation
实现的限制
实现对程序的强制限定

论坛徽章:
0
230 [报告]
发表于 2011-05-20 13:18 |只看该作者
讨论C的时侯,总让我想起C++,楼主可以也一起讨论哦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP