免费注册 查看新帖 |

Chinaunix

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

指针和数组到底谁的效率高 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-20 18:21 |显示全部楼层 |倒序浏览
按照C专家编程上的意思,通过指针访问数组元素需要2次引用内存,而通过数组名访问数组元素只要一次访问内存。既然如此,怎么C PROGRAMMING LANGUAGE上说通过指针比通过数组名效率要高

论坛徽章:
0
2 [报告]
发表于 2007-08-20 18:42 |显示全部楼层
难道《C PROGRAMMING LANGUAGE》有错误?

论坛徽章:
0
3 [报告]
发表于 2007-08-20 19:11 |显示全部楼层
晕。中文版,P83 5.3,一般来说,用指针编写的程序比用数组下标编写的程序执行速度快。

论坛徽章:
0
4 [报告]
发表于 2007-08-20 23:28 |显示全部楼层
原帖由 MMMIX 于 2007-8-20 22:36 发表

不觉得这个问题有什么讨论的必要。


论坛是用来交流的,你觉得没必要不代表我觉得没必要,不想讨论就别进来

论坛徽章:
0
5 [报告]
发表于 2007-08-20 23:30 |显示全部楼层
原帖由 web_surf 于 2007-8-20 21:07 发表
不知道你想要的是不是这个:
(1)对于顺序访问的而言,数组比链表效率高。

(2)对于数组,间接访问(指数组名+下标)绝不比指针访问的效率高。
比如:
int i;
int b[100];
数组访问;
  for(i = 0; ...

我用GCC反汇编了下,在非优化条件下,用数组名访问被翻译成一条汇编指令,而用指针被翻译成两条指令
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP