一维数组中 array[-1]的地址是什么?

[复制链接]
查看11 | 回复3 | 2019-10-30 05:10:29 | 显示全部楼层 |阅读模式
没有array[-1]。它的起始是array[0],起始也是它的地址 。计算机语言中的一维数组(1)数组是一组有序数据的集合。数组中个数据的排列是有一定规律的,下标代表数据在数组中的序号。(2)用一个数组名(如s)和下标(如15)来唯一的确定数组中的元素,如s[14]就代表第15个学生的成绩。(3)数组中的每一个元素都属于同一个数据类型。不能把不同类型的数据(如学生的成绩和学生的性别)放在同一个数组中。
回复

使用道具 举报

千问 | 2019-10-30 05:10:29 | 显示全部楼层
array等价于*(array+i),因此array[-1]编译可以通过,但因为数组下标越界,所以有潜在的危险性.
回复

使用道具 举报

千问 | 2019-10-30 05:10:29 | 显示全部楼层
编写个程序输出array[-1],array[0],array[1],array[2]的地址比较一下不就得了。 如#includevoid main(){ int a[4]; printf("%d %d %d %d %d %d",&a[-2],&a[-1],&a[0],&a[1],&a[2],&a[3]); getch(); }运行结果为-80 -78 -76 -74 -72 -70这个结果很明显嘛!
回复

使用道具 举报

千问 | 2019-10-30 05:10:29 | 显示全部楼层
没有array[-1]。他的起始是array[0]起始也是他的地址 a[3]地址肯定是大于前面的如a[2]。因为数组内的元素的地址是连续的这种问题你也能问出来?!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行