c/c++ 数组是下标为什么可以是负值

  • Post author:
  • Post category:其他


#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
    int x[1024];
    
    for(int i =0;i<1024;i++)
    {
        x[i] = i;
    }
    
    int * f = &x[10];  // f是一个指针,保存的是x[10]的地址
    cout <<  f[-1] << endl; //结果是9,相当于把x[10]定义为了0点,然后可以用负号来访问了
    //记得一定要用指针名来当做数组名来使用
    return 0;
}

第一次写博客,有点小激动,毕竟这里全是大神啊!

关于这个博客文章的内容我之前也是不知道,看了别人的文章(

点击打开链接

)才了解到得。所以也不算原创啦!只是看了别人的,想把自己的理解写下来,虽然知道这个不难,都可以理解。但是就是想把自己脑袋里卖弄的东西记录下来