negative array index read

Memory - illegal accesses:negative array index read

负的数组索引读取

This is only valid if arr is a pointer that points to the second element in an array or a later element. Otherwise, it is not valid, because you would be accessing memory outside the bounds of the array. So, for example, this would be wrong:

int arr[10];

int x = arr[-2]; // invalid; out of range

But this would be okay:

int arr[10];
int* p = &arr[2];

int x = p[-2]; // valid:  accesses arr[0]

It is, however, unusual to use a negative subscript.

详细:http://stackoverflow.com/questions/3473675/are-negative-array-indexes-allowed-in-c

时间: 2024-10-11 22:50:03

negative array index read的相关文章

[工作积累] 32bit to 64bit: array index underflow

先贴一段C++标准(ISO/IEC 14882:2003): 5.2.1 Subscripting: 1 A postfix expression followed by an expression in square brackets is a postfix expression. One of theexpressions shall have the type “pointer to T” and the other shall have enumeration or integral

多边形三角网剖分资料(转)

仔细查了一下资料.关于多边形三角网剖分,已经有人在网上做了归纳总结. OpenGL的 glutesselation虽然好用,但是据说算法效率不行. 比较好的算法还是Ploy2Tri算法.有时间还是得试一试. Triangulation of Simple PolygonsBen Discoe, notes from 2001.02.11, updated through 2009.01 I needed some code for tessellating polygons, which cou

JavaScript的进阶之路(三)引用类型之Object类型和Array类型

引用类型 Object类型 function a(num){ if(num>3){ a(--num); } console.log(num); } a(5); //如何创建对象的实例 var obj1= new Object(); console.log(obj1); obj1.name="吴琼"; obj1.age=28; console.log(obj1.name+" "+obj1.age); //对象字面量语法 ,有点封装的感觉 var obj2 = {

高程三:Array

一:Array数组 1.Array.isArray(参数) 检测是否是数组,*不兼容IE8,兼容IE9及以上.Chrome.Firefox等,要兼容IE8,可以用 Object.prototype.toString.call([1,2]) == "[object Array]" 2.实例方法: 1).push(xx,xx,xx,...) //插入一项或多项到数组的末尾,并修改length 跟 arr[arr.length] = xxx; 插入类似 var arr = [1,2]; ar

Array数组标准库

概述 Array是JavaScript的内置对象,同时也是一个构造函数,可以用它生成新的数组. 作为构造函数时,Array可以接受参数,但是不同的参数,会使得Array产生不同的行为. 无参数时,返回一个空数组: 如果使用一个正整数作为参数,则这个正整数表示新数组的长度: 如果使用非数值(字符串.布尔值.对象等)作为参数,则该值是新数组的成员: 如果参数在一个以上,则这些参数都是新数组的成员. var a1 = new Array(); var a2 = new Array(1); var a3

list array解析(总算清楚一点了)

# -*- coding: utf-8 -*- """ Created on Tue Aug 09 23:04:51 2016 @author: Administrator """ import numpy as np ''' python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同. 在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太

ES5中新增的Array方法详细说明

ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (js v1.6) map (js v1.6) filter (js v1.6) some (js v1.6) every (js v1.6) indexOf (js v1.6) lastIndexOf (js v1.6) reduce (js v1.8) reduceRight (js v1.8) 浏览器支持 Ope

Javascript Array

Arrays Arrays are zero-indexed, ordered lists of values. They are a handy way to store a set of related items of the same type (such as strings), though in reality, an array can include multiple types of items, including other arrays. To create an ar

观V8源码中的array.js,解析 Array.prototype.slice为什么能将类数组对象转为真正的数组?

在官方的解释中,如[mdn] The slice() method returns a shallow copy of a portion of an array into a new array object. 简单的说就是根据参数,返回数组的一部分的copy.所以了解其内部实现才能确定它是如何工作的.所以查看V8源码中的Array.js     可以看到如下的代码: 一.方法  ArraySlice,源码地址,直接添加到Array.prototype上的"入口",内部经过参数.类型