无法在索引处的数组对象中存储任何内容-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)