当前位置: 代码迷 >> C语言 >> 有关数组后一个位置的元素的作用?
  详细解决方案

有关数组后一个位置的元素的作用?

热度:157   发布时间:2008-03-30 11:35:57.0
有关数组后一个位置的元素的作用?
先定义
int *p,a[5];
后用
for(p=a;p<a+5;p++)这是为了使循环遍及数组的所有元素
虽然p能指向所有数组元素,然而这里用到了a[5],a[5]是不存在的,书上说数组后一个位置的元素事有作用的,
到底有啥作用,还有上面的循环怎样不用到a[5]。
谢谢啦!
搜索更多相关的解决方案: 元素  位置  定义  int  

----------------解决方案--------------------------------------------------------
一个边界,上面的程序用不到a[5]
----------------解决方案--------------------------------------------------------
确实,上面的程序用不到a[5],但却出现了a[5],毕竟他是一个不确定的,那怎样写不出现a[5],又保证能访问到数组里的所有元素。
谢啦!
----------------解决方案--------------------------------------------------------
这个有用不是对你的程序说的,而是对别的程序和操作系统来说的
就好像你的床长度为2米,而你要是使用“从床头算起2.2米处”,那就把脚伸到别人床上了,人家会说,这个地方我有用,把你的脚拿回去----一样的道理。

对你的程序来说,a[5]是不存在的,一定不要用它
----------------解决方案--------------------------------------------------------
xiexie谢谢!
----------------解决方案--------------------------------------------------------
回去看看书,
定义数组的a[5]意思是数组有5个元素,并没有说存在一个元素叫做a[5]
也就是说你那段程序里面从来没有出现过a[5]这个元素。
----------------解决方案--------------------------------------------------------
不是,说有a[5]确实是我错了
不过a+5就是数组里的a[4]的后一个位置,也就是不确定的并非数组a 里的内容。
----------------解决方案--------------------------------------------------------
你程序里面写的p<a+5意思就是不要访问到那里,要停在a+5之前嘛
----------------解决方案--------------------------------------------------------
访问是停在了a+5之前,而最终p是指向了a+5只是未对他进行任何操作。
----------------解决方案--------------------------------------------------------
C语言 保证数组的最后一个元素的后一个元素有效。(同楼主的 a + 5),但不不意味着这个元素真的有效。

个人理解:
    应该是地址上的有效。像XP这样保护模式下的系统,一个程序无法访问超出这个程序的内存空间。
----------------解决方案--------------------------------------------------------
  相关解决方案