VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 543|回复: 2

[原创] 关于数组一些理解

[复制链接]
97_avatar_middle
在线会员 成都老沈骑游 发表于 2017-8-19 09:50:32 | 显示全部楼层 |阅读模式
观察与思考下列语句:
  int a[100];
   a[5]=20;
在int a[100];是一维数组说明语句,作用是在程序运行前分配内存空间。在这个语句中,有int,a,[],100.它们的各自含义是什么?先看a,是标示符,标识啥?后面的[ ]是数组类型符,说明一个数组,要用[ ]来说明,于是我们给这个数组取了个名字叫a.再看int 它说明了数组元素的类型。[ ]里面的100是整型表达式,表达了什么?表达了指定数组的个数。
a[5]=20;
注意这里的a[5]=20;与int a[100];比较,后者是先定义了a是一个有100个int类型的数组,而前者是在后者基础上,对这个一维数组的元素的访问。
在a[5]里,有a和[ ],以及5. a是数组名,表示数组的起始地址,[ ]在这里不是数组类型说明符,是下标运算符,在[ ]的左边a这个操作数是地址(指针),5是右操作数是偏移值,就是说明了这个元素离起始地址的距离(偏移就有这个含义)。[ ]计算过程如下:
a + 5* sizeof(int)
凡是指针都有关联类型,所以在a[5]中语义是:下标运算通过指针的地址。指针的关联类型和偏移值计算地址,并以名访问对象。所以在这里a[5]=20;赋值号的左边a[5]运算的结果是数组a的第六个元素的地址,左值表达式的值确定了第六个元素的地址。
   如有不对,大家批评指正







评分

参与人数 1驿站币 +2 激情 +2 收起 理由
01_avatar_small admin + 2 + 2 很给力!

查看全部评分





上一篇:函数原型作用域理解
下一篇:说一下c语言中做除法的一点小感悟

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

01_avatar_middle
online_admins admin 发表于 2017-8-20 08:30:08 | 显示全部楼层
楼主分析的还真是细致透彻啊,没毛病,就是这么回事,感谢楼主分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

97_avatar_middle
ico_lz  楼主| 成都老沈骑游 发表于 2017-8-20 09:05:39 | 显示全部楼层
谢谢,我们互相学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-10-22 14:51

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表