首先,创建一个正常的数组 int A[20];。然后用指针指向其中间的元素 int *A2 = &(A[10]);
这样,A2[-10 ... 9] 就是一个可用的有效范围了。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/* 样例示范 */ #include <stdio.h> int main( int argc, const char *argv[]) { int A[20], *A2 = &(A[10]), i; for (i=0; i<20; i++) A[i] = i*2; for (i=-10; i<10; i++) printf ( "%d\n" , A2[i]); return 0; } |
因为,指针和数组有如下关系: