读书人

指向数组以后第一个位置的指针也是合法

发布时间: 2012-10-19 16:53:35 作者: rapoo

指向数组之后第一个位置的指针也是合法的,这句话有什么用呀...
指向数组之后第一个位置的指针也是合法的,这句话有什么用呀...

int arr[ 2 ] = {1, 2};
int i = 0;

那我用
while(arr < arr + 2)
{
printf("%d\n", arr[ i++ ]);
}
不也是对的吗

[解决办法]
这里有个概念叫one past the last,在C和C++的STL中被大量应用。
应用这个概念,所有的range都被表示成[begin, end)这样的左闭右开区间。
所以的C/C++的函数(跟range)有关的都是以这样的区间去设计的。

读书人网 >C语言

热点推荐