数组值为负数

noo*_*ser 0 c++ arrays overflow

是否存在在-1中存储的数组中的值的重定制?它会以一种糟糕的方式影响程序或计算机吗?我很好奇,我是编程的新手,任何澄清我都能得到真正的帮助,谢谢.

AnT*_*AnT 7

无法在索引处的数组对象中存储任何内容-1.仅仅尝试获取指向该不存在元素的指针会导致未定义的行为.

-1在基本指针不是数组对象本身的情况下,负数索引(如)可能出现在类似数组的上下文中,而是指向另一个数组对象中间的独立指针,如

int a[10];
int *p = &a[5];

p[-1] = 42; // OK, sets `a[4]`
p[-2] = 5; // OK, sets `a[3]`
Run Code Online (Sandbox Code Playgroud)

但是,在实际数组开始之前访问不存在的元素的任何尝试都会导致未定义的行为

a[-1]; // undefined behavior
p[-6]; // undefined behavior
Run Code Online (Sandbox Code Playgroud)