a[-1]

600阅读 0评论2014-04-18 shaohui973
分类:C/C++

a[-1]= 这个是有意义的, 而且有这样用的代码
比如我们都知道数组下表是从0开始的
那假如我们想从1开始怎么办
定义一个指针,指向a[-1]这个位置,
#include 

void main()
{
	int a[] = {1,3,4};

	int *p = &a[-1];

	int i =0;

	for( i = 1; i <4; i++)
	{
		printf("%d\n", p[i]);
	}
}
1。 因为数组并不检查下表是否越界
2。 下表仅表示偏移, -1就表示第一个元素前面那个元素
运行结果为:
1
3
4
上一篇:asmlinkage
下一篇:linux中mktime算法解析