int a[5] = {0, 1, 2, 3, 4}
int *p = a+4;
cout << p[-2] << endl;  // 2 

p[-2] 表示从指针当前位置向前寻址两个数据类型长度

注1:只有在 p 是指针时才能这么做,不应当出现 a[-2] 这样数组名加负数下标的用法,因为会超出数组地址范围

注2:一般不建议这么做,可能会出现各种寻址错误,该种情况一般出现在判断题中

 

posted on 2023-07-22 17:30  wkxnk  阅读(104)  评论(0编辑  收藏  举报