本文目录一览:
在Java中用负值索引数组正确吗/
绝对不可以,java的安全机制很强大的!
我可以说的是c语言中是可以的
C语言数组下标可以为负吗
分清声明还是语句。
声明里的中括号里的数字不能为负。例如 int a[-2]; 是错的,数组大小不能为负。
语句里的中括号,C/C++ 看成运算符,不叫标点符号。
数组元素和指针有恒等关系:
a[i] == *(a+i)
所以,i 为 负 的时候,a[i] == *(a- fabs(i))。只要 a-fabs(i) 这个地址里 有 数值,就可以拿来 运算使用。
"很多书上说数组下标不能为负" -- 因为是初级教材。
高级教材里甚至提到, a[i] == i[a] 这也是正确的 !(有人在“知道”里问过,我也回答过。)
当然,只能是变量形式,不能写阿拉伯数字,事实上,也确确实实正确的。
javas数组下标为负
java中数组的下标表示在数组中的元素,从0开始的数值,0代表的是第一个元素,1代表的是第二个元素,往上依次类推。实例如下:
int[] intarry = new int[]{1,2,4};//新建一个int类型的数组
System.out.println(int[0]);//其中0就是代表数组的第一个数值,也就是1,下标为0
数组下标可以用负数吗
如果用指针访问数组,可以用负数,但用数组名时会导致错误的访问。
比如:
int a[20],*p;
p=[a[10]; p[-1]访问的是a[9]