我定义了一个int a[4]数组,貌似能往a[-1]a[-2]继续放东西?而且负的下标的绝对值也不能很大
c++的数组不检测越界的问题 ,a[-1]相当于*(a-1),除非这块内存没有被分配,不然不会报错
学了指针就清晰了,这么说吧如果定义一个指针p和那个数组a其实差不多,你也可以定义一个指针p然后用p[1]来读取那个数,所以你的a[-1]就是指向a的前面一个单位,具体取多少字节。要看你定义的是什么类型的int型就是4个字节,所以并没有硬性规定多大a只是一个指针而已,如果不是很清晰,我相信你学完指针后会明白的。
不知道你这个问题是否已经解决, 如果还没有解决的话: