免费注册 查看新帖 |

Chinaunix

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

严重声明:C语言中不存在数组的类型!它仅仅是一个概念! [复制链接]

论坛徽章:
0
141 [报告]
发表于 2009-12-23 04:02 |只看该作者

回复 #1 unistd 的帖子

我就不明白了,有别的语言不是这样的吗?
逻辑语义和物理实现是完全的两个层次的问题,lz放在一起来讨论属于逻辑混乱。
比如c的多维数组,就不是一大块内存了,可是如果你想这样做的话也是可以的,因此c[][]和**c就不是一个类型。
所以,类型就是类型。c是弱类型,c++强类型,仅此而已。

论坛徽章:
0
142 [报告]
发表于 2009-12-23 10:49 |只看该作者
总算看完了!好贴!
总结一句话,C语言数组类型是其它类型的衍生类型

论坛徽章:
0
143 [报告]
发表于 2009-12-23 13:01 |只看该作者
长见识了!

论坛徽章:
0
144 [报告]
发表于 2009-12-23 17:32 |只看该作者
看高手过招……

论坛徽章:
0
145 [报告]
发表于 2009-12-23 17:34 |只看该作者
强帖留名

论坛徽章:
0
146 [报告]
发表于 2009-12-24 13:06 |只看该作者
到了机器代码的层次,上面铸造的一切都是概念

既然这种特殊的char a[]定义方式已经实现了和char* a不同的sizeof(),就可以称之为数组了
难道你还要强求C的数组和其他高级语言实现的数组一定要功能相同吗?没有人规定数组一定要实现功能A功能B才叫数组吧。

当然也可以说这个比指针类型强不到哪去,容易混淆,blablabla……

但是在没有规定数组一定要干嘛干嘛之前,这个就可以叫数组

总结:与其说叫不叫类型是是非问题,不如说是好恶问题。
发帖的人都知道sizeof是这两种定义方式的不同,就说明自己用起来不会错,为什么一定要争它叫什么呢
我们又不是韩国人,一定要有某历史人物的国籍归属感

论坛徽章:
0
147 [报告]
发表于 2009-12-24 14:52 |只看该作者
讨论太多了,实在看不完。其实从程序语言的概念说,C语言也没有输出参数,所谓的输出参数只是从功能上讲的,通过一个地址带出来一个要使用的值,但这个参数(地址)本身还是一个输入参数。

如果要去纠纷这些很概念化的东西,许多时候就扯不清楚了。我发现还在学校的学生或学校的老师最喜欢争执这些,而企业界则更看中对它的应用。

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
148 [报告]
发表于 2009-12-24 15:31 |只看该作者
原帖由 diffo 于 2009-12-20 09:29 发表
根本不存在什么c,一切都是0和1。
而已


错了吧~只有高低位之分~那有什么1和0啊~

论坛徽章:
0
149 [报告]
发表于 2009-12-24 18:28 |只看该作者
今天无事,愣把这帖子看完了。
我很佩服那位“机器人”。。。

我的看法是:
语言本身就是用来抽象概念的,你要都用本质这,本质那的,就啥都没了。
c语言就是没把这东西整干净才弄得不清不楚的,即通过类型,结构体抽象出语言,又允许指针这种暴露底层细节的方法存在,自然就让这语言不纯粹。
不过我不赞成说c是弱类型语言,因为弱类型是更高层面的抽象,适合于脚本型的语言。如果愣要规个类,可以认为在全用指针时是“无类型”语言

论坛徽章:
0
150 [报告]
发表于 2009-12-25 11:04 |只看该作者
按照楼主的逻辑:
计算机也不存在C语言这个语言,它仅仅是个概念,它仅仅是 010101010101 世界里的一个简化、易读的形式而已……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP