荣誉版主
- 积分
- 10450
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-2-24
- 最后登录
- 1970-1-1
|
本帖最后由 brilight 于 2013-2-16 11:12 编辑
指針越界是正常的行為,比如在windows中,一個矩形的數據結構 就是用 左上角的 x,y,右下角的x,y來表示的
struct rectangle{
int left;
int top;
int right;
int bottom;
}
當用這個矩形表示窗口位置時, 右下角的點 {right, bottom} 是不屬於窗口的,也就是不包括在矩形之中的, 矩形的寬= right - left, 矩形的高度 = bottom - top。 對於一維情況的同樣適用,array, queue, stack 都是這樣,最後的 index 減最前的index等於元素的個數。所以 最右邊的指針表示界外是通用做法。 |
|