在C语言中"指针和数组等价"到底是什么意思?


Posted in 面试题 onMarch 24, 2014
在C语言中对数组和指针的困惑多数都来自这句话。说数组和指针“等价”不表示它们相同, 甚至也不能互换。它的意思是说数组和指针的算法定义可以用指针方便的访问数组或者模拟数组。
特别地,等价的基础来自这个关键定义:
一个T 的数组类型的左值如果出现在表达式中会蜕变为一个指向数组第一个成员的指针(除了三种例外情况); 结果指针的类型是T的指针。
这就是说, 一旦数组出现在表达式中, 编译器会隐式地生成一个指向数组第一个成员地指针, 就像程序员写出了&a[0] 一样。例外的情况是, 数组为sizeof 或&操作符的操作数, 或者为字符数组的字符串初始值。
作为这个这个定义的后果, 编译器并那么不严格区分数组下标操作符和指针。在形如a[i] 的表达式中, 根据上边的规则, 数组蜕化为指针然后按照指针变量的方式如p[i] 那样寻址, 如问题6.2 所述, 尽管最终的内存访问并不一样。如果你把数组地址赋给指针:
p = a;
那么p[3] 和a[3] 将会访问同样的成员。

Tags in this post...

面试题 相关文章推荐
PHP面试题-$message和$$message的区别
Dec 08 面试题
类的核心特性有哪些
Jan 01 面试题
C/C++程序员常见面试题一
Dec 08 面试题
写出程序把一个链表中的接点顺序倒排
Apr 28 面试题
Sony C++笔试题
Mar 10 面试题
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
Apr 28 面试题
数据库设计的包括哪两种,请分别进行说明
Jul 15 面试题
什么是事务?事务有哪些性质?
Mar 11 面试题
亿阳信通股份有限公司C#笔试题
Dec 06 面试题
接口的多继承会带来哪些问题
Aug 17 面试题
什么是设计模式
Jun 17 面试题
在浏览器端如何得到服务器端响应的XML数据
Nov 24 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
求高于平均分的学生学号及成绩
Sep 01 #面试题
上海方立数码笔试题
Oct 18 #面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 #面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 #面试题
You might like
php下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
vue组件间通信子与父详解(二)
2017/11/07 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
写自荐信要注意什么
2013/12/26 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
后勤部经理岗位职责
2014/02/23 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
2015年暑假生活总结
2015/07/13 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书